我的实体有一个名为Value
的字段。此字段为string
,但也包含int
和DateTime
值。
我的常规查询类似于
SELECT * FROM tableA
WHERE entityType=@eID and CAST(value as int/datetime/varchar)==@value
如何让 EF 使用强制转换生成查询?
修改:在uservoice
上创建建议答案 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团队实施并完成。检查问题中列出的用户发票链接