C# 使用实体框架而不使用实体类的本机sql
我有一个本机sql查询,根据用户选择动态更改。C# 使用实体框架而不使用实体类的本机sql,c#,sql-server,linq,entity-framework,native-sql,C#,Sql Server,Linq,Entity Framework,Native Sql,我有一个本机sql查询,根据用户选择动态更改。 代码 var sql=“从“+temp+”中选择*;”; var templast=db.Database.SqlQuery(sql.ToList(); temp变量包含根据用户选择获得的表名。如何在不使用.sqlquery?之间的实体类的情况下获取记录?。有没有其他方法获取记录 注意:动态表在实体模型中不可用。它仅在db中可用,仅在替换类中可用 class A1 {public int Id {get; set;}} class A2 {
代码
var sql=“从“+temp+”中选择*;”;
var templast=db.Database.SqlQuery(sql.ToList();
temp变量包含根据用户选择获得的表名。如何在不使用.sqlquery?之间的实体类的情况下获取记录?。有没有其他方法获取记录
注意:动态表在实体模型中不可用。它仅在db中可用,仅在替换类中可用
class A1 {public int Id {get; set;}}
class A2 {public string Name {get; set;}}
...
var templist = db.Database.SqlQuery<A1>(sql_dinamic).ToList();
or
var templist = db.Database.SqlQuery<A2>(sql_dinamic).ToList();
class A1{public int Id{get;set;}
类A2{公共字符串名称{get;set;}}
...
var templast=db.Database.SqlQuery(sql_dinamic.ToList();
或
var templast=db.Database.SqlQuery(sql_dinamic.ToList();
阅读工厂的课程 仅替换类
class A1 {public int Id {get; set;}}
class A2 {public string Name {get; set;}}
...
var templist = db.Database.SqlQuery<A1>(sql_dinamic).ToList();
or
var templist = db.Database.SqlQuery<A2>(sql_dinamic).ToList();
class A1{public int Id{get;set;}
类A2{公共字符串名称{get;set;}}
...
var templast=db.Database.SqlQuery(sql_dinamic.ToList();
或
var templast=db.Database.SqlQuery(sql_dinamic.ToList();
阅读工厂的课程我想你必须指定一些东西,但是如果合适的话,你可以考虑使用<代码> SqLQuase>代码。你的任务不需要EF,你应该使用ADO.NET的ExeCudieDead。在某个时候你必须知道你得到了哪些列…动态是一个很好的建议,但是没有办法避免连接查询吗?我会维护一个键到实体的映射,然后使用映射来获取我的dbset?如果你不知道你会得到什么,你打算如何使用圣殿骑士?如果你对这个问题有一个好的答案,你可能会得到一个更准确的建议。@sstan质疑的是“显示记录”部分。在您的视图中,您如何知道要显示哪些列?更好的方法可能是将视图强类型化到一个接口,该接口由与您的不同选择相对应的POCO类实现,并让应用程序的数据访问层根据选择对POCO类使用SqlQuery。最后,让控制器通过POCO类来查看。然后为每个POCO类开发DISPLAYS模板,并用接口模型从强类型视图调用@ HTML。DISPLAY(m= > m)。我认为您必须指定一些东西,但如果合适的话,可以考虑使用<代码> SqLQuase>代码。您的任务不需要EF,您应该使用ADO.NET中的ExecuteReader。在某一点上,您必须知道您得到了哪些列……动态是一个很好的建议,但是没有办法避免连接查询吗?我会维护一个键到实体的映射,然后使用映射来获取我的dbset?如果你不知道你会得到什么,你打算如何使用圣殿骑士?如果你对这个问题有一个好的答案,你可能会得到一个更准确的建议。@sstan质疑的是“显示记录”部分。在您的视图中,您如何知道要显示哪些列?更好的方法可能是将视图强类型化到一个接口,该接口由与您的不同选择相对应的POCO类实现,并让应用程序的数据访问层根据选择对POCO类使用SqlQuery。最后,让控制器通过POCO类来查看。然后为每个POCO类开发DISPLAYS模板,并用接口模型从强类型视图调用@ HTML。DISPLAY(m= > m)。我认为您必须指定一些东西,但如果合适的话,可以考虑使用<代码> SqLQuase>代码。您的任务不需要EF,您应该使用ADO.NET中的ExecuteReader。在某一点上,您必须知道您得到了哪些列……动态是一个很好的建议,但是没有办法避免连接查询吗?我会维护一个键到实体的映射,然后使用映射来获取我的dbset?如果你不知道你会得到什么,你打算如何使用圣殿骑士?如果你对这个问题有一个好的答案,你可能会得到一个更准确的建议。@sstan质疑的是“显示记录”部分。在您的视图中,您如何知道要显示哪些列?更好的方法可能是将视图强类型化到一个接口,该接口由与您的不同选择相对应的POCO类实现,并让应用程序的数据访问层根据选择对POCO类使用SqlQuery。最后,让控制器将POCO类传递给视图。然后为每个POCO类开发显示模板,并使用接口模型从强类型视图调用@Html.DisplayFor(m=>m)。