使用VS 2013和SQL Server 2012,我有一个C#linq查询,它将成为一个简单的SQL CLR用户定义函数。即:
string userId = from uid in GEN_Application_Attribute
where uid.Attribute_name == "S1WebServices_usrId"
select uid.Attribute_value;
string passWord = from pw in GEN_Application_Attribute
where pw.Attribute_name == "S1WebServices_pwd"
select Attribute_value;
GEN_Application_Attribute是EDMX中显示的EF对象(我认为是v.5)。我一直收到错误,"无效的表达术语'其中'"。我的研究表明,这是EDMX没有在实体对象上实现IQueryable的结果。 (有人想知道。为什么不呢?)我能想出的是,我该如何解决?我已经尝试了IQueryable< GEN_Application_Attribute>,两种sqlString数据类型的某种CAST,我不理解,以及其他一些可能的结果。
这不会那么困难! Sprint今天结束,所以我重新做了这个SQL OLE,但我讨厌这种方法。
帮助?
编辑:
SQL CLR的其余部分调用一个Web函数 - 显然,这个片段只获取该函数的userId和密码,并且是代码中的唯一错误(我尝试使用userId和密码的文字并且得到了正确的结果)。