,其中包含有與外鍵的兩個實體的數據庫的模式,比如聯方法支持轉換爲SQL
class Item
{
public int ID;
public string Name;
public int StatusID;
}
和
class Status
{
public int ID;
public string Name;
}
有我自己的類
class MyClassFormat
{
public int ID;
public string Name;
public string Status;
}
現在我想創建一個方法,返回它自己的類,類似那樣
MyClassFormat getTtem(this Item item)
{
return new MyClassFormat{ID = item.ID, Name = item.Name, Status = item.Statuses.Name}
}
的問題是,當我用這個方法,我得到我的方法沒有支持轉換爲SQL
是否有可能創造這樣這將是代替解開其內容的方法異常調用這個方法?
解決:兩個答案都適用於解決我的問題,但第二個是一個我一直在尋找,謝謝你們
我認爲,OP使用實體框架(請參閱錯誤消息)。所以,這也應該失敗,因爲LINQ to實體僅支持實體類型,複雜類型和基本類型。我錯過了什麼嗎? – Dennis
@Dennis它應該工作。 EF允許您投射到非實體類(例如DTO)中。 – jeroenh