繁体   English   中英

如何使用EF LINQ从表中选择所有列加上自定义列?

[英]How to select all columns plus a custom one from table by using EF LINQ?

如何在实体框架中使用LINQ来做到这一点?

SELECT TOP 1 
       'abc' as test
      ,T_Users.*
FROM T_Users
ORDER BY T_Users.BE_Name

我有这个:

var initme = (
    from c in Repo.T_Users
    orderby c.BE_Name
    select new {
        test = "abc",
        c
    }
).FirstOrDefault();

但这给了:

object
{
   abc
  ,c
}

代替

object
{
   abc
   ,c.col_1
   ,c.col_2
   ,c.col_3
   ...
   ,c.col_N
}

我不认为这是可能的; 我担心你只需要使用:

var initme = (from c in Repo.T_Users
                          orderby c.BE_Name

                          select new
            {
                 test =  "abc",
                 c1 = c.col_1, 
                 c2 = c.col_2,
                 ... 
            }

您必须在LINQ中的select子句中手动指定所有列 ,没有更短的方法。

var initme = (from c in Repo.T_Users
              orderby c.BE_Name
              select new
              {
                 test =  "abc",
                 col1 = c.col_1,
                 col12 = c.col_2
                 /....
              }
             ).FirstOrDefault();

您必须在select中指定所需的所有字段。 或者,您可以创建一个自定义对象,如repoDto,它具有repo表的属性以及您将在查询后填充的测试字段的所有属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM