Jan*_*sek 10 c# entity entity-framework
有没有办法用defaultValue发送属性但是用数据库计算结果更新它?数据库中有一个触发器,对于输入-1,触发一个计算新值的过程.如何获得价值?
<Property Name="ID" Type="int" Nullable="false" StoreGeneratedPattern="None" DefaultValue="-1" />
var x = new Stuff();
db.Stuff.AddObject(x);
db.SaveChanges();
return x.ID //gives -1, but the computed value should be different.
Run Code Online (Sandbox Code Playgroud)
Jay*_*ena 17
您需要在savechanges之后重新加载实体.因为它已被EF无法跟踪的数据库触发器更改.所以我们需要再次从数据库重新加载实体,
var x = new Stuff();
db.Stuff.AddObject(x);
db.SaveChanges();
db.Entry(x).GetDatabaseValues();
return x.ID;
Run Code Online (Sandbox Code Playgroud)
Dev*_*per -3
using (var context = new MyContext())
{
context.MyEntities.AddObject(newObject);
context.SaveChanges();
int id = newObject.Id; // Will give u the autoincremented ID
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17563 次 |
| 最近记录: |