我正在使用实体框架
var result = db.Database.SqlQuery<object>(dynamicSQLString);
var res = result.ToList();
其中dynamicSQLString可以是任何东西......可以返回“count()”,可以是带有行列表的select ....等等......没有办法将它与已知的类类型匹配。所以我想到了使用“对象”。
我想知道这是否可行,如果是,我怎样才能将结果“转换”为“字符串”......?
这甚至可能吗?
更新#1
var t1 = result.GetType(); //System.Data.Entity.Internal.InternalSqlQuery
var res = result.ToList();
var first = res.First();
var t2 = first.GetType(); // System.Object
如果我对“res”进行计数,我会得到预期的行数,但是我没有看到获取此对象/动态行的“属性名称”的方法,也没有找到它的值。
更新#2
我找到了一个“类似”的例子,但在那里,这个人确切地知道选择将返回的参数/类型。 http://www.codeproject.com/Articles/206416/Use-dynamic-type-in-Entity-Framework-4-1-SqlQuery
答案 0 :(得分:0)
答案 1 :(得分:0)
除非您的SQL查询,否则无法将结果转换为字符串 (在本例中为dynamicSQLString) 返回premitive原语如 “从客户中选择名称”,返回数据库中每行的字符串结果