-1

我对 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);

这个选择的结果并不是我想要的。

4

2 回答 2

3

使用&&而不是按位运算符&

于 2013-06-13T16:24:41.017 回答
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(....)
于 2013-06-13T16:26:48.150 回答