2013-05-12 145 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