Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 无法从';字符串';至';System.Collections.Generic.IEqualityComparer<;LightSwitch应用程序。LettersEntItem>';_Linq_Entity Framework_C# 4.0_Visual Studio Lightswitch - Fatal编程技术网

Linq 无法从';字符串';至';System.Collections.Generic.IEqualityComparer<;LightSwitch应用程序。LettersEntItem>';

Linq 无法从';字符串';至';System.Collections.Generic.IEqualityComparer<;LightSwitch应用程序。LettersEntItem>';,linq,entity-framework,c#-4.0,visual-studio-lightswitch,Linq,Entity Framework,C# 4.0,Visual Studio Lightswitch,表PatientsMaster与LettersEntItem有关系。在LettersEntItem表中,我有一个名为lettertype的字段。我有三种不同类型的信。我怎么能只允许一位患者的信件类型 partial void DateSent_Validate(EntityValidationResultsBuilder results) { if (this.PatientsMasterItem.LettersSentItem.Count() > 3 ||

表PatientsMaster与LettersEntItem有关系。在LettersEntItem表中,我有一个名为lettertype的字段。我有三种不同类型的信。我怎么能只允许一位患者的信件类型

  partial void DateSent_Validate(EntityValidationResultsBuilder results)
    { 
        if (this.PatientsMasterItem.LettersSentItem.Count() > 3 || this.PatientsMasterItem.LettersSentItem.Distinct(LetterType))
        {
        results.AddPropertyError("Can't Print More than 3 letters per patient");
        }
    }

您需要检查是否有多个相同类型的字母,一种方法是在
LetterType
上分组,并检查每个结果的
.Count()

partial void DateSent_Validate(EntityValidationResultsBuilder results)
{ 
    if (this.PatientsMasterItem.LettersSentItem.GroupBy(i => i.LetterType).Any(l => l.Count() > 1))
    {
        results.AddPropertyError("Can't print more than one letter of the same type per patient");
    }
}

.Distinct(x)
不起作用<代码>字母。Distinct(x)选择所有不同的字母(让
x
决定哪些字母相等),但如果使用
Distinct()
删除任何字母,您就不再有需要计数的信息。

您有三种类型的字母,患者最多可以发送三封字母,但它们必须是同一类型的?这就是你想要检查的吗?它们都必须是不同类型的。抱歉说不清楚。