在过滤数据源时,我收到错误“参数名为'p__linq__0'已经存在”(LightSwitch)

时间:2016-03-05 22:13:14

标签: visual-studio-lightswitch

在我的lightswitch应用程序中,我有一个名为“Transactions”的表。此表有一个名为“所有者”的列。 Owners列包含用逗号分隔的用户名,例如“username1,username2,username3”。在过滤交易记录时,我想只显示当前用户是其中一个所有者的记录。

为此,我使用了以下代码。

partial void Transactions_Filter(ref Expression<Func<Transaction, bool>> filter)
    {
        filter = e => e.owners.Contains(this.Application.User.Name);
    }

但我得到一个错误,“参数集合中已经存在一个名为'p__linq__0'的参数。参数集中的参数名必须是唯一的。参数名称:参数”

有任何修复错误的建议吗?

1 个答案:

答案 0 :(得分:0)

你是否使用this.Application.User.Name作为在Filter方法之前编译的其他方法中的参数?

此外,我认为您应该使用子表来保存用户名,而不是将所有内容放在列中。在lightswitch中,如果你很好地设计数据库,你将有一个很好的应用程序。