這是vs。2010中的.net 4我有多個具有相同結構的數據庫。我們最終會將它們合併爲一個,但這樣做很順利。我正在編寫一個應用程序,而不必編寫相同的代碼10次,我想動態地在模型之間切換。我很接近但並不完全。繼承人我有什麼:在ADO.NET實體模型之間動態切換
using esOrderHeader = Shipping.Models.esShip.OrderHeader;
using fnOrderHeader = Shipping.Models.fnShip.OrderHeader; //OrderHeader is a table in the database
ObjectContext context = null;
IEnumerable< EntityObject> orderHeader = null; //i've tried ObjectSet as well
switch (client)
{
case "es":
context = new esshipEntities();
orderHeader = context.CreateObjectSet<esOrderHeader>();
break;
case "fn":
context = new fnshipEntities();
orderHeader = context.CreateObjectSet<fnOrderHeader>();
break;
}
var query = from row in orderHeader where row.IsFulfilled == false select row;
下不會編譯,因爲編譯器顯示「無法解析符號IsFulfilled」,這是在我的表中的字段。我如何在實體之間切換並能夠對它們運行linq查詢?
它無法解決row.IsFulfilled因爲orderHeader是IEnumerable類型的。我不確定這是否會起作用,但是您可以嘗試爲您的Shipping.Models.esShip.OrderHeader(還有fnShip)創建超類,並將IsFulfilled屬性放在那裏,然後使用該超類而不是EntityObject?我會試試這個,讓你知道它是否適用於我... –
neeKo
順便說一句,而不是'row.IsFilledilled == false'你可以放在'!row.IsFulfilled':) – neeKo
那麼,我的編譯成功(不通過製作數據庫就無法測試)。你有沒有運氣? – neeKo