我是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)
?这不能插入数据库。
答案 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
较小的答案将首先插入数据库。