C# 如何在通过LINQ数据上下文进行SQL选择期间将INT32转换为INT?
我有以下声明:C# 如何在通过LINQ数据上下文进行SQL选择期间将INT32转换为INT?,c#,linq,casting,executequery,C#,Linq,Casting,Executequery,我有以下声明: someList = dc.ExecuteQuery<MyCustomType>(@"Select Id As ProductId, Name From ivProduct").ToList(); someList=dc.ExecuteQuery(@“选择Id作为ProductId,名称来自ivProduct”).ToList(); 当MyCustomType的my Id属性为INT时,数据库中的Id存储为int32。是否有方法在选择期间将该int32转换为INT
someList = dc.ExecuteQuery<MyCustomType>(@"Select Id As ProductId, Name From ivProduct").ToList();
someList=dc.ExecuteQuery(@“选择Id作为ProductId,名称来自ivProduct”).ToList();
当MyCustomType的my Id属性为INT时,数据库中的Id存储为int32。是否有方法在选择期间将该int32转换为INT
谢谢
int
和Int32
是同一类型。不需要石膏
编辑
如果您的列是
smallint
,则对应于Int16
(或short
,使用C#关键字)。您可以像现在一样使用CONVERT
语句,也可以将对象上的属性更改为short
执行CONVERT(INT,Id)操作,因为ProductId
执行了该作业。如果能找到一种不用SQL转换的方法,那就太好了。可能会尝试为此向属性添加强制转换。再次查看例外情况a,犯了一个错误-当我的属性类型为int时,SQL属性的类型为smallint。是的,SQL转换已经解决了这个问题。非常感谢。