2013-05-12 98 views
3

我是Linq to Entity的新手(Infact我是Linq的新手),我正在努力插入一行。我设法想出下面的代码,但我正在努力研究如何使用我所拥有的... ...Linq to Entity - 插入记录

的DB看起来是这样的:

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(); 

感谢您的帮助

+0

什么是汇编错误?你没有显示'模型'在哪里申报。 – devdigital 2013-05-12 11:26:32

回答

4

IdeasDbSet<Idea>,你只能添加Idea对象到这个集合。

但这里

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

要添加NewIdea对象的想法,而这也正是你的错误。

+0

感谢您的帮助:) – 2013-05-12 13:43:24