如何使用linq和lambda

时间:2018-11-10 17:42:43

标签: c# entity-framework linq entity-framework-core

当我使用linq查询时,我试图将对象与Entity Framework Core一起使用。但是对象始终是匿名的,我不希望这样。我有以下代码:

                var query = (from c in context.UserTest
                         join k in context.OneToTest on c.FkOneToTestId equals k.Id
                         select new { c, k }).ToList();

是匿名对象。但是使用以下代码:

 var test = context.UserTest
            .Include(one => one.OneToTest)
            .ToList();

我想在查询 test 中具有相同的对象。现在 test 中的List<UserTest> query中 List<'a>。有什么简单的方法可以用linq做到吗?

1 个答案:

答案 0 :(得分:0)

等效于

var test = context.UserTest.Include(one => one.OneToTest).ToList();

是:

var test = (from c in context.UserTest.Include(one => one.OneToTest)
            select c).ToList();

我知道不使用Include的唯一方法是创建一个不需要连接的新对象:

var test = (from c in context.UserTest
            select new UserTest
                {
                    Id = c.Id,
                    OneToTest = c.OneToTest,
                    // ...
                }).ToList();