gpt4 book ai didi

asp.net-mvc - Linq to Entity - 插入记录

转载 作者:行者123 更新时间:2023-12-04 02:56:51 24 4
gpt4 key购买 nike

我是 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; }
}

(用户模型我还没做)

我的 Controller 看起来像这样,但没有编译。

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 得到它。我更新后的 Controller 看起来像这样......

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

谢谢你的帮助

最佳答案

IdeasDbSet<Idea>你只能添加 Idea此集合的对象。

但是在这里

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

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

关于asp.net-mvc - Linq to Entity - 插入记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16506806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com