如何通过在Silverlight mvvm中的实体框架中传递名称来从表中获取ID?

时间:2012-12-13 08:09:28

标签: silverlight entity-framework mvvm

在我的Silverlight MVVM项目中,我正在使用Entity Framework。我有一个名为Customer的表,其字段为CustomerID,Username,age。我已经以编程方式插入了一行。

此处CustomerID字段是自动递增的字段。那么如何通过传递插入的CustomerID来获取UserName值?

需要LINQ查询才能从实体框架中获取它。?

任何帮助?

1 个答案:

答案 0 :(得分:1)

在调用SubmitChanges后,应在对象中设置自动递增的ID。也就是说,例如,此处newId应包含值:

var customer = new Customer { Username = "test", Age = 100 };
dataContext.InsertOnSubmit(customer);
dataContext.SubmitChanges();
var newId = customer.CustomerID;

如果您需要随后从数据库加载它,请使用简单的查询:

string name = "test";
var customer = dataContext.Customers.Where(customer => customer.Username == test).FirstOrDefault();
if (customer != null)
{
    var newId = customer.CustomerID;
}