Nie*_*sma 4 c# asp.net linq-to-sql
通常在更新linq2sql中的对象时,从datacontext获取对象并使用相同的datacontext来保存对象,对吧?
更新一个尚未被用于执行保存操作的datacontext检索的对象的最佳方法是什么,即我使用flourinefx在flex和asp.net之间传递数据,以及当对象从客户端返回时保存我不知道如何保存对象?
public static void Save(Client client)
{
CompanyDataContext db = new CompanyDataContext();
Validate(client);
if(client.Id.Equals(Guid.Empty))
{
//Create (right?):
client.Id = Guid.NewGuid();
db.Clients.InsertOnSubmit(client);
db.SubmitChanges();
}
else
{
//Update:
OffertaDataContext db = new OffertaDataContext();
db.Clients.????
}
}
Run Code Online (Sandbox Code Playgroud)
更新:使用Attach的不同方法在这种情况下不起作用.所以我想需要一种基于反射的方法.
要更新现有但已断开连接的对象,您需要"附加"它执行数据上下文.这将重新使用现有的主键等.您可以控制如何处理更改 - 即视为脏,或视为清洁并跟踪未来的更改等.
Attach方法就在桌面上 - 即
ctx.Customers.Attach(customer); // optional bool to treat as modified
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2845 次 |
最近记录: |