簡體   English   中英

Linq Casting返回類型為復雜類型

[英]Linq Casting Return type as a Complex Type

我正在使用Linq從數據庫和實體框架中選擇項目來創建我的實體。 實體框架還使用導入功能向導創建了復雜類型。 每當我使用任何復雜類型返回查詢時,當我嘗試將結果轉換為復合返回類型時,我得到一個空值。

private AWorksLTEntities db = new AWorksLTEntities();

public IQueryable<SelectAll_Result> SelectAllMethod()
{
    var result = from p in db.Products
                 select p;
    return result as IQueryable<SelectAll_Result>;
}

SelectAll_Result是由EntityFrameworks創建的復雜類型,並且強制轉換不起作用,我的方法返回null。

使用普通實體的相同代碼會返回值

private AWorksLTEntities db = new AWorksLTEntities();
public Product SelectAllMethod()
{
    var result = from p in db.Products
                 select p;
    return result;
}

我的問題是雖然這個例子非常簡單,但是我正在使用我正在處理的代碼生成器創建這個查詢,並且返回類型很難確定,所以我需要能夠使用實體生成的復雜返回類型框架功能導入而不是標准實體返回。

有任何想法嗎? 提前致謝。

強制轉換操作符不知道如何從一個類轉換為另一個不相關的類。 您必須自己提供轉換:

public IQueryable<SelectAll_Result> SelectAllMethod()
{
    var result = from p in db.Products
                 select new SelectAll_Result() { a = p.a, b = p.b, ... };
    return result;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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