我尝试在EF 6的select语句中将int
强制转换为object
,但会引发错误:
System.NotSupportedException:'无法将类型'System.Int32'强制转换为'System.Object'。 LINQ to Entities仅支持强制转换EDM基本类型或枚举类型。'
我的代码是:
public void Test()
{
var db = new LogicStoreDbContext();
var result = db.User.Select(x => new TextBoxSearchModel
{ Value = x.Id, }).ToList();
}
Note:x.Id
是int
我的TextBoxSearchModel
类是:
public class TextBoxSearchModel
{
public object Value { get; set; }
public string DisplayText { get; set; } = string.Empty;
public string NextColumn1 { get; set; }
public string NextColumn2 { get; set; }
public string NextColumn3 { get; set; }
public string NextColumn4 { get; set; }
public string NextColumn5 { get; set; }
public object Object { get; set; }
}
我确实需要在属性Value上使用对象数据类型。谁能帮我吗?
谢谢:)
您可以在整数上使用ToString(),因为将其设置为object时将起作用。
var result = db.User.Select(x => new TextBoxSearchModel { Value = x.Id.ToString(), }).ToList();