我不想使用'==',我想使用.Equals,这将允许我用泛型做一些更复杂的东西.
至少我希望能够在不获取NotSupportedException的情况下执行此查询.我想实现.Equals与Guid一起工作就像它适用于原始类型,如int,bool和string.我已经用NHibernate做了类似的事情来实现自定义方法来构建查询,我希望能够对EF做同样的事情.
var id = Guid.NewGuid(); _dbContext.MyEntityType.Single(x => x.Id.Equals(id));
Servy.. 5
Guid
确实Equals
已经实现了一个方法.在这种情况下,它的EF不支持将您的特定用法转换为SQL,因此除非您计划编写自己的查询提供程序,否则无法让它理解如何翻译该代码.所有你不能写出它不知道如何变成SQL ==
的表达式,在这种情况下意味着在你的表达式中写入(如果那是EF知道如何翻译)而不是Equals
.
Guid
确实Equals
已经实现了一个方法.在这种情况下,它的EF不支持将您的特定用法转换为SQL,因此除非您计划编写自己的查询提供程序,否则无法让它理解如何翻译该代码.所有你不能写出它不知道如何变成SQL ==
的表达式,在这种情况下意味着在你的表达式中写入(如果那是EF知道如何翻译)而不是Equals
.