EF6 LINQ演员专栏

时间:2015-01-16 18:05:15

标签: linq entity-framework casting

我的实体有一个名为Value的字段。此字段为string,但也包含intDateTime值。

我的常规查询类似于

SELECT * FROM tableA 
WHERE entityType=@eID and CAST(value as int/datetime/varchar)==@value

如何让 EF 使用强制转换生成查询?

修改:在uservoice

上创建建议

2 个答案:

答案 0 :(得分:-1)

以下是示例:

        int eId = 1;
        int valueInt = 1;
        DateTime valueDateTime = DateTime.Now;
        string valueString = "Test";

        TableA result;
        switch (eId)
        {
            case 1: result = context.tableA.Where(x => x.entityType == eId && Convert.ToInt32(x.value) == valueInt); break;
            case 2: result = context.tableA.Where(x => x.entityType == eId && Convert.ToDateTime(x.value) == valueDateTime); break;
            case 3: result = context.tableA.Where(x => x.entityType == eId && x.value == valueString); break;
        }

答案 1 :(得分:-1)

由EF团队实施并完成。检查问题中列出的用户发票链接