我想知道你是否知道如何实现这一点,考虑在配置文件中存储为字符串的查询。
我尝试使用应用于DBSet的SqlQuery,但问题是SqlQuery要求我在查询中选择所需实体的所有属性。如果我不考虑任何列,它会抱怨因为无法将查询映射到实体。
我不想选择要查询的实体的所有属性。
由于
答案 0 :(得分:0)
如果您使用EF,那么为什么不使用Database.ExecuteSqlCommand()
?它位于System.Data.Entity
命名空间中。
例如:
int result = db.Database.ExecuteSqlCommand("Non SELECT SQL etc...");
答案 1 :(得分:0)
好吧,我最终实现了一个使用反射的机制,它基本上接收了一组要选择的字段,并使用这些字段构造动态对象,所以当应用查询与实体之间的连接时,只会带来我的字段寻找。
因此,考虑Entity1
,Entity2
,Entity3
具有以下关系
<b>Entity1</b>{
<br/> Entity1Name, <br/> List<*Entity2*> Entity2Items, <br/> etc..
<br/>}
和
<b>Entity2</b> { <br/> Entity2Name, <br/> List<*Entity3*> Entity3Items <br/>}
我可以存储,例如配置文件中的以下查询,并检索信息:
"Entity1.Entity1Name", <br/>
"Entity1.Entity2Items.Entity2Name", <br/>
"Entity1.Entity2Items.Entity3Items.Entity3Name"
无论如何,我只是想看看是否有任何开箱即用的解决方案需要最少的代码更改。
谢谢。