0

刚开始使用 LINQ 和 EF。

我在以下配置中有一组表:

PublicUtility (UtilityCode) * ----> 1 (UtilityCode) Utility (UtilityCode) 1 -----> * (UtilityCode) UtilityDetail

我在 SQL 中有一个查询。根据其他一些业务规则,此查询将返回 1 值或 NULL。

SELECT
@UtilityCode = UtilityDetail.UtilityCode

UtilityDetail
INNER JOIN PublicUtility ON
PublicUtility.SubdivisionCode = @SubdivisionCode AND
PublicUtility.Year = @PublicUtilityYear AND
PublicUtility.UtilityCode = UtilityDetail.UtilityCode
WHERE
UtilityDetail.DebtPurposeCode = @DebtPurposeCode

我如何使用 LINQ to 实体重写它?

4

1 回答 1

0
using (YourObjectContext ctx = new YourObjectContext())
{
    var code = (from ud in ctx.UtilityDetails
                join pu in PublicUtility on ud.UtilityCode equals pu.UtilityCode
                where ud.DeptPurposeCode == [code_value] && pu.SubdivisionCode == [subdivcode_value] && pu.Year == [year_value]
                select new {ud.UtilityCode}).FirstOrDefault();
}
于 2011-01-11T18:22:14.767 回答