C# 首先从实体框架数据库中的查询中获取数据
如果查询在结果中给出一行,如何从每列中获取数据?如果您确定查询将只给出一行结果,请使用C# 首先从实体框架数据库中的查询中获取数据,c#,entity-framework,ef-database-first,C#,Entity Framework,Ef Database First,如果查询在结果中给出一行,如何从每列中获取数据?如果您确定查询将只给出一行结果,请使用.Single方法。如果查询结果为零或多个结果,它将抛出一个eror var us = from user in conteks.Tabel_User where user.user_id == userID select user 我将解释这里提到的每种方法 Single()。它将为您提供单行查询中的行。如果您的查询导致零行或多行,那么
.Single
方法。如果查询结果为零或多个结果,它将抛出一个eror
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
我将解释这里提到的每种方法
。它将为您提供单行查询中的行。如果您的查询导致零行或多行,那么它将抛出一个错误Single()
。它将为您提供单行查询中的行。如果查询结果为零行,它将为您提供默认类型,SingleOrDefault()
作为引用类型。如果您的查询导致多行,它将抛出一个错误null
。它将为您提供查询的第一行,当然,如果您将其应用于单行查询,那么它将返回该行。如果您的查询导致 零行,那么它将给您一个错误First()
。最安全的方法。如果查询返回行,它将给出第一行;如果查询返回零行,它将给出类型的默认值(FirstOrDefault()
,用于引用类型)null
.Single
方法。如果查询结果为零或多个结果,它将抛出一个eror
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
我将解释这里提到的每种方法
。它将为您提供单行查询中的行。如果您的查询导致零行或多行,那么它将抛出一个错误Single()
。它将为您提供单行查询中的行。如果查询结果为零行,它将为您提供默认类型,SingleOrDefault()
作为引用类型。如果您的查询导致多行,它将抛出一个错误null
。它将为您提供查询的第一行,当然,如果您将其应用于单行查询,那么它将返回该行。如果您的查询导致 零行,那么它将给您一个错误First()
。最安全的方法。如果查询返回行,它将给出第一行;如果查询返回零行,它将给出类型的默认值(FirstOrDefault()
,用于引用类型)null
<强>注:如果考虑性能,则<代码> FrStReDebug()/代码>方法是最好的。
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
var singleUser = us.Single();
//get name, ssn, etc
var name = singleUser.Name;
var ssn = singleUser.Ssn;
然后:
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
var userObject = us.FirstOrDefault();
…您可以按如下所示进行尝试
<强>注:如果考虑性能,则<代码> FrStReDebug()/代码>方法是最好的。
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
var singleUser = us.Single();
//get name, ssn, etc
var name = singleUser.Name;
var ssn = singleUser.Ssn;
然后:
var us = from user in conteks.Tabel_User
where user.user_id == userID
select user
var userObject = us.FirstOrDefault();
…就这样取吧
var firsName = userObject.FirstName;
var lastName = userObject.LastName;
就这样取吧
var firsName = userObject.FirstName;
var lastName = userObject.LastName;
将为您提供用户对象,然后您可以通过us选择每个列。
,如果可能未找到符合serarch条件的记录,则在访问对象属性之前,您可能需要进行空检查
将为您提供用户对象,然后您可以通过
us选择每个列。
,如果可能未找到符合serarch条件的记录,则在访问对象属性之前,您可能需要进行空检查 您可以使用空比例运算符代替if
:var fn=user?.firstName
而不是if
,您可以使用空比例运算符:var fn=user?.firstName代码>