使用内联sql与实体框架工作和c#

时间:2015-09-18 11:05:02

标签: sql entity-framework

我们正在使用EF的som性能问题,我想尝试重写查询到内联sql。但是我遇到了一些困难,可能只是一个菜鸟问题。

假设我有3个类:License,GroupLicense和Product

    public class License
{
//stuff
Product MyProduct{get;set}
}

public class GroupLicense:License
{
// more stuff
}

public class Product
{
//product info stuff
}

现在我需要根据一些要求获取一些Grouplicenses。但是使用datacontext和linq这样做需要2分钟。 与此相似的东西

var institutionLicenses = db.GroupLicenses
            .Include(lic => lic.Product).Where(x => productIds.Contains(x.Product.Id) && x.LicenseStatus == StatusEnum.Active).ToList();

我想使用与此类似的内联sql进行相同的查询:我加入表格以便所有原始字段都可以。

 var gl = db.Database.SqlQuery<GroupLicense>("select * from GroupLicense as g left join Licenses on g.Id =Licenses.Id").ToList();

(这只是示例代码 - 我知道它不起作用:))

但是在执行时,License上的基本产品属性为null,所有原始字段都在那里。

我需要在sql语句中更改哪些内容才能使其正常工作?

0 个答案:

没有答案