Linq to sql linq to entits兼容orcle时所遇相关问题
public string GetContractAttachmentCategories()
{
try
{
WCMSDATA wd = DataEntity.Initializes();
var query1 = from f in wd.WOO_CATEGORY
where f.TYPE == "CONTRACTFILE"
select new
{
LbID = f.ID,
LbName = f.NAME,
LBPermission = f.ID
};
query1 = query1.OrderByDescending(a=>a.LbID);
var lis = query1.ToList();
var query = from f in lis
select new
{
LbID = f.LbID,
LbName = f.LbName,
LBPermission =GetCategoryPermissionUser(f.LBPermission)
};
string JsonSource = query.ToJSON(); //当前页记录转成JSON格式
string strJsonSource = @"{";
strJsonSource = strJsonSource + @"""fileCategoryList"":" + JsonSource + "}";
return strJsonSource;
}
catch (Exception e)
{
WooLogger.Error(e.ToString());
return string.Empty;
}
var customer = wd.WOO_COMPANY.Where(GetAdvancedCustomerSearch().Compile()); //Queryable.Where(wd.WOO_COMPANY, GetAdvancedCustomerSearch());
//var pcfIdsByCustomer = (from pln in wd.WOO_CONT_PLAN_FINANCE
// join cust in customer on pln.WOO_CONTRACT.COMPANY_ID equals cust.ID
// where pln.TYPE == "收款"
var pcfIdsByCustomer = (from cust in customer
from pln in wd.WOO_CONT_PLAN_FINANCE
where pln.TYPE == "收款" && pln.WOO_CONTRACT.COMPANY_ID == cust.ID
varsList = wd.WOO_CONT_TEXT_TEMP_VALUE.Where(p => p.IS_CUSTOMER == 0)
.OrderByDescending(p => p.ID)
.Select(p => new TplContractVariable
{
VarName = p.ID.ToString(),
VarLabel = TemplateAndObjectField.GetFildNameByKey(p.NAME, I18NTypeEnum.enUS)
varsList = wd.WOO_CONT_TEXT_TEMP_VALUE.Where(p => p.IS_CUSTOMER == 0)
.OrderByDescending(p => p.ID)
.Select(p => new { p.ID, p.NAME })
.Select(p => new TplContractVariable
{
VarName = p.ID.ToString(),
VarLabel = TemplateAndObjectField.GetFildNameByKey(p.NAME, I18NTypeEnum.enUS)
无法创建“WooDataEntity.WOO_PROJECT”类型的常量值。此上下文仅支持基元类型或枚举类型。
var filter = wd.WOO_PROJECT.Where(predicate.Compile());
var query= from ht in wd.WOO_CONTRACT
join xm in filter
on ht.PROJECT_ID equals xm.ID
where ht.COMPANY_ID == customerID
解决方法:调换一下位置
var filter = wd.WOO_PROJECT.Where(predicate.Compile());
var query= from xm in filter
join ht in wd.WOO_CONTRACT
on xm.ID equals ht.PROJECT_ID
where ht.COMPANY_ID == customerID
联系客服