[英]LINQ select clause type confusion
我有以下型號
namespace Models
{
[System.Data.Linq.Mapping.Table(Name = "RegionTable")]
public class Region
{
[System.Data.Linq.Mapping.Column]
public int ID { get; set; }
[System.Data.Linq.Mapping.Column]
public string Name { get; set; }
[System.Data.Linq.Mapping.Column]
public string OrchardRoleID { get; set; }
}
}
我想選擇所有區域並通過Region模型對象列表將其返回。
為什么這樣工作
var lQuery = from r in lDBContext.Regions new Models.Region { ID = r.ID, Name = r.Name };
var l = lQuery.ToList();
但是以下不是
var lQuery = from r in lDBContext.Regions select r;
var l = lQuery.ToList();
當它拋出一個
Unable to cast object of type 'System.Int32' to type 'System.String'.
例外?
你的問題是因為
public string OrchardRoleID { get; set; }
我想這在您的第一個示例中是數據庫中的int
,它可以工作,因為您省略了該字段
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.