0
一個listedItem可以是設備和車輛的父對象。我想要包含子類的屬性,具體取決於子類的類型是什麼類型的對象。Linq包含子對象屬性
var type = GetAllQuery(context).FirstOrDefault(x => x.Id == id);
var listedItem = GetAllQuery(context)
.Include(x => x.Images)
.Include(x => x.User);
if (type.GetType().BaseType == typeof(Vehicle))
{
var vehicle = listedItem as IQueryable<Vehicle>;
return vehicle.Include(x => x.VehicleBrand).Include(x => x.VehicleModel).FirstOrDefault(x => x.Id == id);
}
設備也一樣。車輛由於某種原因返回空,我似乎無法找出原因。有任何想法嗎?
感謝您的回答即時試圖使其工作目前,我對泛型不太瞭解。直至現在,我改變這部分 '開關(typeof運算(T),請將.Name)' 我有在配置麻煩,因爲它是說考慮使用一個明確的轉換,而不是牛逼 –
mcas
所有錯誤: 的約束方法'Data.Repositories.VehicleConfigurator.Configure(System.Data.Entity.Core.Objects.ObjectQuery )'的類型參數'T'必須與接口方法'Data.Repositories.IConfigurator的類型參數'T'的約束匹配。配置(System.Data.Entity.Core.Objects.ObjectQuery )''。考慮使用顯式接口實現。 –
mcas
請調查listedItem的類型並匹配configure的簽名。代碼只是一個想法。 – hungryMind