0
我有表用戶,小部件和佈局。用戶通過Layouts與Widgets建立多對多的關係。每個佈局都有UserID和WidgetID。我想刪除一個匹配特定UserID和WidgetID的佈局。SubSonic 3 ActiveRecord lambda表達式在刪除時部分被忽略
使用亞音速3 ActiveRecord的我寫:
Layout.Delete(x => x.UserID == user.id && x.WidgetID == id);
然而,亞音速刪除所有插件佈局對於用戶來說似乎忽略條件的第二部分。我做錯了,還是這是一個亞音速錯誤?如果是後者,是否有任何解決方法?
後來補充:我暫時固定它Context.tt在我的項目的模型子目錄:
diff --git a/Models/Context.tt b/Models/Context.tt
index ee64200..dd47510 100644
--- a/Models/Context.tt
+++ b/Models/Context.tt
@@ -162,8 +162,8 @@ namespace <#=Namespace#>
LambdaExpression lamda = column;
SqlQuery result = new Delete<T>(this.Provider);
result = result.From<T>();
- SubSonic.Query.Constraint c = lamda.ParseConstraint();
- result.Constraints.Add(c);
+ var q = new QueryVisitor();
+ result.Constraints.AddRange(q.GetConstraints(lamda));
return result;
}
是 - 請在此添加爲一個問題。不應該發生... – 2009-07-14 18:56:56
我有一個查找相同的問題。 var items = Person.Find(x => x.ID == id && x.Name == myStringArray [0]); myStringArray被填充! – Jon 2009-07-15 09:22:04