簡體   English   中英

LINQ選擇子句類型混淆

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM