public BS_MAPPING_OPERATE_RIGHT GetEntityByXmlAddress(string section_id, string operate_right_id)
{
E_SchoolLinqDataModelDataContext context = base.CreateContext();
var result = (from e in context.BS_MAPPING_OPERATE_RIGHT
where e.MAPPING_OPERATE_RIGHT_KEYINFO.Element("Parameter").Attribute("Value").Value == section_id && e.OPERATE_RIGHT_ID.Equals(operate_right_id)
select new
{
e.MAPPING_OPERATE_RIGHT_ID,
e.OPERATE_RIGHT_ID,
e.APPEARANCE_ID
});
return context.ExecuteQuery<BS_MAPPING_OPERATE_RIGHT>(result).First();
}
BS_MAPPING_OPERATE_RIGHT:表类型
MAPPING_OPERATE_RIGHT_KEYINFO:是该表内的某个字段,是XML类型的字段
该XML格式为:
<Parameters>
<Parameter Key="SECTION_ID" Value="4" />
</Parameters>
比如,我想查询出该XML字段中VALUE=“4”的所有记录集,见最上面的方法,为什么我执行后报错:
方法“System.Xml.Linq.XElement Element(System.Xml.Linq.XName)”不支持转换为 SQL。
请假高手帮忙!!!谢谢!!!