Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用实体框架SqlQuery<&燃气轮机;当实体类型在运行时已知时_C#_Entity Framework_Sql Server 2008 - Fatal编程技术网

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
    类似的
    SqlQuery
    -它正确地返回了数据库中的所有记录,但我无法从中提取任何数据。我想使用dynamic,我仍然需要在某个时候转换结果。不确定,也许有人知道一种方法
  • 最后一点。我们确实想使用
    实体框架
    ,但这只是项目的开始阶段,尝试一些东西,看看它们是如何协同工作的,我开始认为在这种情况下,
    实体框架
    可能不是正确的工具。我得到了这个简短的答案,这确实让我思考是否应该如果有更好的方法,我会努力扭转局面

您是否有任何类型的支持模型,或者所有内容都来自xml?@Shoe我使用
ADO NET实体数据模型
从SQL数据库创建模型,因此我有
edmx
schema和
DbContext
以及创建的所有实体。如果使用非泛型重载:
dynamic allRecords=db.Database会怎么样.SqlQuery(当前类型,“从客户端选择*)