【发布时间】:2019-03-06 11:01:58
【问题描述】:
我有一个名为 products 的模型,
public class Product
{
public string Name { get; set; }
public string Sku { get; set; }
public float Cost { get; set; }
public string Description { get; set; }
}
我将从外部源获取动态类型的对象列表,如下所示
string query = "SELECT Id,Name,KNDYCPQ__Description__c,KNDYCPQ__ProductCode__c FROM KNDY4__Product__c";
List<dynamic> products = new List<dynamic>();
products = await SalesforceSyncProvider.QueryAsync(query);
foreach (var x in products)
{
Product product = new Product();
if (db.Products.Where(a => a.Sku ==x.KNDYCPQ__ProductCode__c).FirstOrDefault() != null) {
product.Name = x.Name;
product.Sku = x.KNDYCPQ__ProductCode__c;
product.Description = x.KNDYCPQ__Description__c;
product.Cost = 2000;
db.Products.Add(product);
}
}
所以,在添加到我的数据库之前,我想用我的 Sku 检查产品代码 (KNDYCPQ__ProductCode__c) 以避免重复,但 if 条件失败并显示错误,表达式树可能不包含动态操作。
【问题讨论】:
-
将
x.KNDYCPQ__ProductCode__c放入一个强类型变量并在表达式中使用它.. -
异常消息是我们的朋友,它们包含几乎所有我们问题的答案。太糟糕了,没有人真正阅读它们:(
标签: c# linq dynamic salesforce