从EF中选择具有多个非主键参数的单个表项

本文关键字:参数 单个表 EF 选择 | 更新日期: 2023-09-27 18:18:10

我是c#和EF的新手。我想知道如何从具有多个非主键参数的EF模型中选择一个条目。

到目前为止我还没有成功。

var context = new CommentEntities();
var comments = context.T_OPT_REP_COMMENT.Where(C => C.REP_ID == parameters[0] &
               C.CUSTOMER_ID == parameters[1] &
               C.CONTRACT_POS_ID == parameters[2] &
               C.PRODUCT_ID == parameters[3] &
               C.CATEGORY == parameters[5]).Select(C => C.COMMENT_TEXT);

从EF中选择具有多个非主键参数的单个表项

使用&&代替位运算符&

这个应该可以帮你。

var comments = context.T_OPT_REP_COMMENT.Where(C => C.REP_ID == parameters[0] &&
               C.CUSTOMER_ID == parameters[1] &&
               C.CONTRACT_POS_ID == parameters[2] &&
               C.PRODUCT_ID == parameters[3] &&
               C.CATEGORY == parameters[5]).Select(C => C.COMMENT_TEXT);

你可以注意到你只有&而不是&&。可以使用&&在lambda表达式中指定多个WHERE子句。位运算符&在lambda表达式中用于捕获子句,而不用于布尔条件。

我还是想知道你在比较所有的属性。你们没有CUSTOMER_IDPRODUCT_ID一起的独一无二的吗?你可以这样做,如果你有so:

var comments = context.T_OPT_REP_COMMENT.Single(....)