我是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();谢谢你的帮忙
发布于 2013-05-12 19:30:02
Ideas是一个DbSet<Idea>,您只能将Idea对象添加到此集合中。
但在这里
NewIdea idea = new NewIdea();
idea.Description = model.Description;
idea.Title = model.Title;
ctx.Ideas.Add(idea);您正在向Ideas添加一个NewIdea对象,这就是您遇到错误的地方。
https://stackoverflow.com/questions/16506806
复制相似问题