我正在为项目使用EF 6.1,但该项目的一部分需要允许用户能够创建包含自定义数据的自定义表。现在我希望能够使用LINQ查询数据并考虑WHERE子句,我可以使用DynamicLINQ,但是如果我只有表名作为字符串,我怎样才能查询表?
对于用户为其创建自定义表的数据,我将不会创建一个类。我想把表本身放在SQL中,还有一个EAV类表,它包含该表的详细信息。
由于我也没有这些表的类,我可以使用LINQ查询数据吗?如果是这样,它会返回什么样的物体?也许是动态的?
所以基本上我想要这样的东西
var data = _context.GetTable("MyTable")
.Where("Name = 'BOB')
.ToList();
这可能吗?有人能指出我如何解决这个问题的正确方向吗?
答案 0 :(得分:0)
不,因为名称本身就是它的实体框架所以它要求实体和关系数据与预定义的映射域实体。实体框架 - 6不支持可能在将来的版本中 http://blogs.msdn.com/b/adonet/archive/2014/05/19/ef7-new-platforms-new-data-stores.aspx。
对于您的解决方案,我建议您使用支持所有ADO.Net功能的ADO.Net和Enterprise Library,以便您可以进行字符串查询并将其构建为动态并执行该查询。