我有以下查詢使用Simple.Data.SqlServer中的Join語句從數據庫中讀取記錄。Casting Simple.Data.Query到POCO對象
var productLineItem = (ProductLineItem) (database.Products.All()
.Select(
database.Products.Name,
database.Products.Price
)
.Join(database.BarCodes)
.On(database.BarCodes.ProductID == database.Products.ID)
.Where(database.BarCodes.BarCode == barCode).FirstOrDefault())
請注意,我必須使用FirstOrDefault方法以及將整個語句包裝到括號中,然後將其轉換爲對象。我不喜歡這種方式。我認爲Simple.Data應該能像下面的代碼
ProductLineItemproductLineItem = database.Products.Get()
.Select(
database.Products.Name,
database.Products.Price
)
.Join(database.BarCodes)
.On(database.BarCodes.ProductID == database.Products.ID)
.Where(database.BarCodes.BarCode == barCode);
工作在我使用GET,因爲我知道我會得到只有一條記錄,而不是記錄列表上面的例子,但此查詢不工作。
如何使用Simple.Data預先加載查詢並且不使用那些醜陋的方法來實現我想要的功能?
如果您設法找到答案,請分享。我結束了同一條船。你可以在你的第一個例子中刪除'('around數據庫,我現在使用Dapper的原因是因爲Simple.Data不再被支持,雖然沒有那麼優雅,但它更容易。 –