我想从Linq StoreName
查询中的Linq to Entity
字段中删除前缀。
我有以下查询,它获取表
中所有前缀的列表查询1
var _prefix = context.Prefixes.Select(pre => pre.Prefix1);
我想在 Query2
中使用此结果QUERY2
var objRetailer = from stores in context.RetailerStoredtls
join ret in context.RetailerContactdtls
on stores.RetailerID equals ret.RetailerID
join retreg in context.RetailerRegDates
on stores.RetailerID equals retreg.RetailerRegDateId
where (stores.IsDeleted == null || stores.IsDeleted == false)
&& (stores.CreatedDate.Value.Year == iYear || stores.ModifiedDate.Value.Year == iYear)
&& retreg.IsApproved== true
orderby stores.StoreName
select new
{
stores.StoreID,
Store = stores.StoreName,
Area = stores.StoreCity,
Zip = stores.StoreZip,
SellingCard = (storessellingcard.Contains(stores.RetailerID.Value) ? true : false)
StoreWithoutPrefix = stores.StoreName.StartsWith(<one of prefix retrieved from Query1> ? stores.StoreName : <stores.StoreName without prefix>
};
很遗憾,我们.StartWith()
仅使用字符串参数而不是 Query1 的结果,如果我使用.Contains
它不会检查它是否以“#1”开头,它只检查字符串是否存在。我该怎么做才能完成这项任务?
感谢。
答案 0 :(得分:0)
您可以使用IndexOf
,但可能您遇到区分大小写的问题。所以添加一个参数CompareOptions.IgnoreCase