我对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);
这个选择的结果并不是我想要的。
答案 0 :(得分:3)
使用&&
代替按位运算符&
。
答案 1 :(得分:2)
这应该为你做。
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);
您可以注意到,您只有&
而不是&&
。您可以使用WHERE
在lambda表达式中指定多个&&
子句。位运算符&
在lambda表达式中用于捕获子句,而不用于布尔条件。
不过,我想知道你是在比较所有的属性。你有CUSTOMER_ID
和PRODUCT_ID
独特吗?如果你这样做,你可以这样做:
var comments = context.T_OPT_REP_COMMENT.Single(....)