最近,我开始将ADO.net应用程序移植到实体框架。我的表中有一些可选列。使用ADO.net,我只需检查该列是否存在并获取值(如果存在)。

if (MyTable.Columns.Contains("PerformPreCheck") &&
    DBNull.Value != MyRow[MyTable.Columns["PerformPreCheck"]])
{
         m_bPerformPreCheck = (bool)MyRow[MyTable.Columns["PerformPreCheck"]];
}


如何使用实体框架实现同一目标?

谢谢,
苏雷什

最佳答案

假设您的实体称为Foo,而可为空的列称为PerformPreCheck

using(var context = new MyEntities())
{
    var f = context.Foos.First(); // or context.Foos.Where(foo => foo.Id == someId).First(), etc....
    m_bPerformPreCheck = f.PerformPreCheck.GetValueOrDefault();
}

关于entity-framework - Entity Framework 中的可选列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2254205/

10-09 00:49