EF4和创建新记录

时间:2012-05-25 13:24:43

标签: c# entity-framework

我是Entity Framework的新手,我的第一段代码似乎已经不正确,或者至少不是我的预期。

我已经从数据库生成了我的实体对象。我的一张表是WebUser。所以我知道有一个实体对象WebUser。该数据库使用名为Identity的{​​{1}}列,该列也是该表的主键。

但是,WebUserID方法具有以下签名......

CreateWebUser

为什么要求public static WebUser CreateWebUser(global::System.Int32 webUserID, global::System.String userName, global::System.String password, global::System.String emailAddress) ?这不能插入数据库。

2 个答案:

答案 0 :(得分:1)

正如manual中所述,您应将ID设置为0.当您致电Context.SaveChanges()时,EF会更新。

您还可以使用Context.CreateObject<WebUser>()或(根据医生建议)var newUser = new WebUser()创建新实体,并在设置其他属性时省略ID。

答案 1 :(得分:1)

您可以设置webUserID或保持默认值。 但是当您想要添加两个或更多WebUser时,webUserID可用于设置项目的顺序。

db.CreateWebUser(2,"The Second Recored","2","2");
db.CreateWebUser(1,"The First Recored","1","1");
db.SaveChanges();

首先会将数据插入数据库吗?答案是webUserID较小的答案将首先插入数据库。