C# 如何使用实体框架SqlQuery<&燃气轮机;当实体类型在运行时已知时
我正在从事一个C# 如何使用实体框架SqlQuery<&燃气轮机;当实体类型在运行时已知时,c#,entity-framework,sql-server-2008,C#,Entity Framework,Sql Server 2008,我正在从事一个ASP.NET Web表单项目。由于项目的特殊性,大多数数据都在XML文件中,当我从某个视图返回数据时,我只有我正在使用的实体类型的string值。或者更清楚地说,我返回了json,其中有类似{entity:“Clients”}的内容,这是我知道我目前正在与Clients合作的唯一方法 因此,我们仍然试图保留实体框架5,因此在XML文件中,我们存储我们的DB查询,但问题是,当我想要执行时: using(var db = new MyContext())
ASP.NET Web表单
项目。由于项目的特殊性,大多数数据都在XML
文件中,当我从某个视图返回数据时,我只有我正在使用的实体类型的string
值。或者更清楚地说,我返回了json
,其中有类似{entity:“Clients”}
的内容,这是我知道我目前正在与Clients
合作的唯一方法
因此,我们仍然试图保留实体框架5
,因此在XML
文件中,我们存储我们的DB查询,但问题是,当我想要执行时:
using(var db = new MyContext())
{
var allRecords = db.Database.SqlQuery<???>("SELECT * FROM Clients");
使用(var db=new MyContext())
{
var allRecords=db.Database.SqlQuery(“从客户端选择*);
我没有类型给-<代码> SqLQuase方法。所以我认为这里可以考虑的选项是:
- 使用类来匹配数据——这是解决这个问题最常见的答案,但在我的例子中,大量使用
文件是毫无意义的XML
- 使用某种反射将字符串值强制转换为实际的实体类型,因为我在
中有它们(我首先使用POCOs
方法).我看到了一些关于如何最终做到这一点的建议,但老实说,这对我来说相当复杂,我甚至不确定这在特定情况下是否有效,但如果你认为这是一个好办法,请提及数据库
- 我想知道我是否可以使用
类似的dynamic
-它正确地返回了数据库中的所有记录,但我无法从中提取任何数据。我想使用dynamic,我仍然需要在某个时候转换结果。不确定,也许有人知道一种方法SqlQuery
- 最后一点。我们确实想使用
,但这只是项目的开始阶段,尝试一些东西,看看它们是如何协同工作的,我开始认为在这种情况下,实体框架
可能不是正确的工具。我得到了这个简短的答案,这确实让我思考是否应该如果有更好的方法,我会努力扭转局面实体框架
ADO NET实体数据模型
从SQL数据库创建模型,因此我有edmx
schema和DbContext
以及创建的所有实体。如果使用非泛型重载:dynamic allRecords=db.Database会怎么样.SqlQuery(当前类型,“从客户端选择*)
?