如何在使用LoadWith
選項運行時查詢用於獲取子記錄的查詢SqlCommand
?Linq-To-Sql LoadWith命令
假設這樣一個模式(非常簡略,但要解釋這是怎麼回事):
Widget:
Id int not null identity(1,1) primary key
IsNeeded bit not null
DooHickey
Id int not null identity(1,1) primary key
WidgetFk int not null references Widget(Id)
翻譯到LINQ到SQL使用拖曳類和視覺工作室式界面。
例子:
using(var ctx = GetDataContext()) {
var dlo = new DataLoadOptions();
dlo.LoadWith(widget => widget.DooHickeys);
ctx.LoadOptions = dlo;
var query = ctx.Widgets.Where(x => x.IsNeeded);
// The "select * from Widget where IsNeeded = 1" command
var mainCmd = (SqlCommand)ctx.GetComamnd(query);
// Want Command for getting the DoHickeys
}
這將使它更容易自動創建一個DataContext
和IQueryable
SqlDependencies。也許我是這麼做的,而且有人已經解決了這個問題......我會接受一個第三方工具(NuGet可安裝),它不會引入新的依賴關係(如System.Web)。
我不明白你怎麼會到達一個從LoadWith存在。 LoadWith生成一個JOIN。如果你做'query.ToString()'你會看到它。 –
啊,也許我應該更清楚一點,我不知道LoadWith是如何工作的,雖然我總體理解Linq-to-Sql查詢的功能。當我'GetCommand'它不顯示連接... – Crisfole