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