【问题标题】:Linq to Entity - Inserting a recordLinq to Entity - 插入记录
【发布时间】:2013-05-12 11:20:53
【问题描述】:

我是 Linq to Entity 的新手(事实上我是 Linq 的新手),我正在努力插入一行。

按照一些教程(其中没有一个似乎彼此同意或非常详细),我设法想出了以下代码,但我正在努力弄清楚如何使用我所拥有的......

数据库如下所示:

namespace IdeaGen.Data
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;

public partial class IdeaGenEntities : DbContext
{
    public IdeaGenEntities()
        : base("name=IdeaGenEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

    public DbSet<Idea> Ideas { get; set; }
    public DbSet<User> Users { get; set; }
}
}

我的模型如下所示:

public class NewIdea
{
    public int IdeaID { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public int UserID { get; set; }
}

(我还没做用户模型)

我的控制器看起来像这样,但没有编译。

using (IdeaGenEntities ctx = new IdeaGenEntities())
        {
            var ideas = ctx.Ideas;
            NewIdea idea = new NewIdea();
            idea.Description = model.Description;
            idea.Title = model.Title;
            ctx.Ideas.Add(idea);
            ctx.SaveChanges();
        }

哦,我也按照教程之一使用它...

namespace IdeaGen.Data
{
public class DBBase
{
    private IdeaGenEntities _IdeaGenEntity = new IdeaGenEntities();

    public IdeaGenEntities IdeaGenEntity {get {return _IdeaGenEntity; } }
}
}

谁能指出我正确的方向?一旦我对自己在做什么有了基本的了解,我将能够解决剩下的问题,但是没有什么可做的,我对自己哪里出错了有点不知所措。

提前致谢

编辑:

感谢用户 user619656。我更新后的控制器看起来像这样......

        IdeaGenEntities ctx = new IdeaGenEntities();
        Idea Idea = new Idea();
        Idea.Title = model.Title;
        Idea.Description = model.Description;
        ctx.Ideas.Add(Idea);
        ctx.SaveChanges();

感谢您的帮助

【问题讨论】:

  • 什么是编译错误?您尚未显示声明“模型”的位置。

标签: asp.net-mvc linq entity-framework linq-to-entities


【解决方案1】:

IdeasDbSet&lt;Idea&gt;,您只能将 Idea 对象添加到此集合中。

但是在这里

NewIdea idea = new NewIdea();
idea.Description = model.Description;
idea.Title = model.Title;
ctx.Ideas.Add(idea);

您正在向 Ideas 添加一个 NewIdea 对象,这就是您得到错误的地方。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多