问题标签 [objectquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linq-to-entities - 如何执行对象查询
Linq to Entities 使用实现 IQueryable 的 ObjectQuery。我通常使用 IQueryable 方法来过滤我的数据,但今天我需要创建一个特殊的 LIKE 语句。该框架一直认为它很聪明,并用波浪号“转义”了我的通配符“%”,这使得我的特殊 LIKE 语句无效。因此,在四处挖掘之后,我发现 ObjectQuery 上的 Where 方法有一个重载,它允许您将字符串与 ObjectParameters 一起传递。我已经这样做了,但它不像 IQueryable 那样执行。当我运行应用程序时,命中此代码后什么也没有发生。没有错误,也没有命中数据库,所以我知道我创建的查询实际上并没有执行。
我该如何处决这只小狗?
entity-framework - 使用 LINQ to Entities 时返回 IQueryable 与 ObjectQuery
我在使用 LINQ 实体化查询时一直在阅读,IQueryable
它在处理之前属于类型,但是当查询被处理后,它不再是一个IQueryable
,而是一个ObjectQuery
.
在那种情况下,从我的层(存储库层)编写方法以返回 IQueryable 是否正确?
我需要投吗?
为什么我要返回一个ObjectQuery
?
我来自 LINQ to SQL 背景,IQueryable
但 EF 似乎改变了这一点。
任何帮助都非常感谢。
c# - 如何将 ObjectQuery 与由 OR 子句分隔的 Where 过滤器一起使用
有人可以帮我回答如何用 ObjectQuery bilder 重写原始 SQL 过滤器 WHERE (...) OR (...) 吗?
我会使用 Where() 方法,但它会生成由 AND 分隔的 where 子句,尽管我想使用 OR 来代替。QueryBilder 可以吗?我的意思是如何使用它来生成“或分离”过滤器:
谢谢,阿尔特姆
sql - 实体框架 - 如何在没有 LINQ 且只有字符串的情况下连接表?
我有一个关于实体框架的问题。如果您知道这方面的答案,请回答。我有这样的查询:
特别是我想在一个查询中加入几个表,但我不能使用 LINQ,也不能使用 ObjectQuery 和映射到查询中的 DB 字段的对象。因为每个实体都是动态创建的。所以这是我不能使用的:
msdn.microsoft.com/en-us/library/bb425822.aspx#linqtosql_topic12
msdn.microsoft.com/en-us/library/bb896339%28v=VS.90%29.aspx
问题是我可以使用这样的东西而不是使用对象吗?
目的是使用 ObjectQuery 的 Join 方法,其语法如 Where 方法:
msdn.microsoft.com/en-us/library/bb338811%28v=VS.90%29.aspx
谢谢,阿尔特姆
c# - 几个 GroupJoin 一次查询
我正在尝试使用一些一致的 GroupJoin 编写 ObjectQuery,这意味着应该有一个主表选择 + 一些额外的 LEFT JOIN。我正在使用 SelectMany 方法执行以下操作,因为没有它我无法访问字段 RoleID :
一切正常,但它以某种方式作为 INNER JOIN 工作,我意识到 SelectMany 方法会导致这种行为。它生成这个查询:
我将其删除并收到以下错误:
无法从用法中推断方法“System.Linq.Enumerable.SelectMany(System.Collections.Generic.IEnumerable, System.Func>, System.Func)”的类型参数。尝试明确指定类型参数。
请有人向我解释这种行为,并建议如果可能的话如何解决它。
提前致谢。
c# - 在 ObjectQuery 中使用包含
这是我的情况:
我有艺术家和事件之间的 am:n 关系。我想要做的是获得一个 IQueryable 只包含包含某个艺术家的事件。我正在为我的数据访问层使用存储库。显然,以下方法不起作用:
由于我是实体框架的新手,我真的不明白为什么,但我可以猜到。因此,如果有人能以非常简单的方式解释这一点,我也将不胜感激。无论如何,我想出的解决方案如下:
这根本不是一个好的解决方案,因为所有事件都被检索和处理,这是一个巨大的开销。有没有人可以告诉我一个更好的解决方案来解决我的问题?我也知道我并不真正了解 ObjectQuery 是什么以及如何将其转换为 IQueryable (如果可能的话)。
我很感激任何建议。
entity-framework-4 - 序列化实体框架类时如何避免循环引用
我有一个使用 Entity Framework 4 的 MVC-3 (RC1) 应用程序。
我希望从控制器操作返回一个 JSON 对象。这个对象被其他对象引用,显然返回引用。
因此,我收到以下循环引用错误:
“/”应用程序中的服务器错误。
序列化“Application.Models.ReferenceObject”类型的对象时检测到循环引用。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:在序列化“Application.Models.ReferenceObject”类型的对象时检测到循环引用。
注意:Application和ReferenceObject显然是实际命名空间/对象的替代品。
根据Stack Overflow: Circular reference exception when serializing LINQ to SQL classes,这可以使用 JSON.Net 来克服;但是我想避免这种情况,而是尝试从被序列化的对象中排除有问题的引用属性。
我是什么意思?
我想做这样的事情:
where**<method>**
是一些与方法相反的ObjectQuery(Of T).Include
方法,并且ObjectsReferencingThis
是导致循环引用的属性。
注意:我不希望删除这些属性或创建 POCO,因为这只会影响 Json 序列化。
请问有人可以帮忙吗?
:)
.net - 我如何转换 DBQuery到 ObjectQuery?
我有一个DBQuery<T>
转换为一个IQueryable<T>
(这个位工作正常)。但后来我试图将 IQueryable 转换为 ObjectQuery .. 但失败了:-
在我改用 Entity-Framework 4 CTP5 Magic Unicorn blah blah blah之前,这曾经有效。现在,它不起作用 - 即。objectQuery
是null
。
现在,DBQuery<T> inherits IQueryable<T>
..所以我认为这应该可行。
如果我将代码更改为..
然后引发以下异常:-
System.InvalidCastException:无法转换类型为“System.Data.Entity.Infrastructure.DbQuery
1[Tests.Models.Order]' to type 'System.Data.Objects.ObjectQuery
1 [Tests.Models.Order]”的对象。
有什么建议么?
wpf - 将 WPF 控件绑定到 LINQ to Entity 查询的推荐模式是什么?
在MSDN,您可以阅读以下内容:
我们建议您不要将控件直接绑定到 ObjectQuery。相反,将控件绑定到 Execute 方法的结果。以这种方式绑定可以防止在绑定期间多次执行查询。
和
如果您更喜欢使用 LINQ 查询,我们建议您将查询结果强制转换为 ObjectQuery 并调用 Execute 方法。
我的问题是:将 LINQ to Entity(最多是 IQueryable)的结果转换为更具体的类型 ObjectQuery 是否正确?
当需要将控件绑定到 LINQ 查询的结果时,这是正确的模式吗?
当我将数据源从 Visual Studio 2010 数据源窗口拖到我的 WPF 表单时,会生成两种方法,如 MSDN 中所述,但在我的应用程序中,我需要对“predefinedTokensQuery”变量应用过滤器,这就是我写的原因LINQ 查询(替换生成的“predefinedTokensQuery”变量的初始化),然后编译器抱怨,因为它无法将 LINQ 查询显式转换为 ObjectQuery。
以下代码现在在我的应用程序中是如何工作的,但我真的很担心会在这里错过一些东西并且不遵循推荐的模式。
先谢谢了。弗兰克·阿贝尔
linq - 用于选择内部选择的 ObjectQuery lambda 表达式
我想在 ObjectQuery 中使用 lambda 表达式创建这样的查询
我尝试使用
但它不起作用。有人可以指出我正确的方向吗?
谢谢