【问题标题】:Replace Linq to Entity value in Projection将 Linq 替换为 Projection 中的实体值
【发布时间】:2009-11-24 23:58:30
【问题描述】:

我想将从 L2E 投影中检索到的值替换为扩展字符串。

该表包含一个名为“状态”的列,它的值可以是“0”或“1”,在我的 L2E 中有

var trans = from t in db.Donation
            select new DonationBO()
            {
              Status = t.Status
            };

我想要的是返回字符串“Pending”或“Committed”而不是“0”或“1”。

我该怎么做?

【问题讨论】:

    标签: linq entity-framework


    【解决方案1】:

    如果 Status 是一个字符串,你可以简单地这样做:

    var trans = from t in db.Donation
            select new DonationBO()
            {
              Status = t.Status == "0" ? "Pending" : "Committed"
            };
    

    【讨论】:

    • 是的,我最初有向 DonationBO 添加另一个属性的代码,但删除了它 - 想法基本相同
    • 我已经尝试过了,但得到了编译器错误。关闭 select 语句的分号上的“方法或访问器块之后的分号无效”。因此,Linq 对这种用法有些不满。
    • 啊!我的问题是一个愚蠢的编码错误!多哈!我有一个额外的“};”在代码中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2012-09-13
    • 2016-01-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多