使用LINQ比较两个字段

时间:2012-03-20 23:04:29

标签: c# sql-server linq entity-framework-4.1 visual-studio-lightswitch

我面临一个奇怪的问题。如图所示我实际上选择了记录号37,但是lightswitch突出显示为记录号1。 enter image description here 1)FristName,LastName&医院名称是医生表中的唯一索引,因为每个医生都可以有多个地址。

2)我正在验证此下拉字段,如下所示,以避免用户选择不属于医院患者所属的医生。

partial void DoctorsMasterItem_Validate(EntityValidationResultsBuilder results)
    {
        if (this.DoctorsMasterItem != null)
        {


            if (this.HospitalName != this.DoctorsMasterItem.HospitalName)
            {

                results.AddPropertyError("Make Sure the Hospital Patient belongs to and Doctor is also part of that hospital else your letters address would be wrong");

            }

        }

    }

数据模型是

enter image description here

2 个答案:

答案 0 :(得分:1)

更好的方法是过滤下拉框,这样就不会向用户显示无效选项。

看看这两篇文章。这就是我认为你应该做的,嵌套(或级联)组合框:

Nested AutoCompleteBox For Data Entry

Nested AutoCompleteBox for data entry Part 2

答案 1 :(得分:0)

是否为具有不同医院的任何其他重复名称选择了错误的行?如果是这样,那将清楚地表明,无论采用何种方法进行选择,都不会考虑医院名称。您是否可以访问执行选择的代码,或者您是否有办法确保考虑医院名称?如果可以修改它以考虑所有三个标准,它应该按预期工作。