我正在對 IQueryable 進行選擇,所以這個 IQueryable 可以來自 2 個不同的表,但 dto 是相同的。我的問題是我正在復制代碼,因為它們每個都有選擇。有什么方法可以創建一個接收 IQueryable 并在其中進行選擇的通用方法?
uj5u.com熱心網友回復:
你有一個界面:
interface INamed{
string Name {get; set;}
}
您有兩個不同的表物體來實作它,因為它們都有一個 Name 屬性:
public class Person : INamed {
public string Name { get; set; }
}
public class Company: INamed {
public string Name { get; set; }
}
您有一個映射方法,它采用任何實作 INamed 并踢出具有 Name 集的物件:
SomeDto Map(INamed x){
return new SomeDto { Name = x.Name }
}
你恰當地稱呼它:
context.Persons.Select(person => Map(person) );
context.Companies.Select(company => Map(company) );
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/446714.html
