簡體   English   中英

通過部分類,堆棧溢出異常在實體框架中擴展實體

[英]Extending an entity in entity framework through partial class, stackoverflow exception

瑣碎的錯誤通常最難發現! 做了很多次,但不知道為什么會拋出錯誤

我需要在屬性FullName中將雇員的姓和名串聯在一起,以便組合框的顯示成員可以設置為“ FullName”。

為此,我僅創建了另一個與我的數據模型中生成的Employee類相對應的局部類,如下所示

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects.DataClasses;

namespace IGarage.DAL
{
    public partial class Employee : EntityObject
    {
        public string FullName
        {
            get
            {
                return FullName;
            }
            set
            {
                value = this.FirstName + " " + this.LastName;
            }
        }
    }
}

在名為Employee.cs的文件中

但是,當我查詢與Employee相關的數據庫時,會引發以下錯誤:

例外!

另外,當我探索問題時,我看到了

這個 ! 請指教。

如評論中所述,您的實現無法正常工作,因為FullName屬性的getter只會再次調用自身,這將導致無限遞歸。 另外,在設置器中修改value變量並不能滿足您的要求。 它不將字符串存儲在任何地方(局部變量在設置器的末尾超出范圍的除外)。

據我所知,您想要一個完全沒有setter的只讀屬性:

    public string FullName
    {
        get
        {
            return this.FirstName + " " + this.LastName;
        }
    }
public string FullName
    {
        get
        {
            return FullName;
        }
}

在這里,您將調用屬性的getter,您正在實現的getter會導致無限遞歸。 順便說一句。 問問自己是否真的需要此屬性的設置方法,因為FullName是名字和姓氏的結合體。 就我個人而言,我會那樣做:

  public string FullName
    {
        get
        {
            this.FirstName + " " + this.LastName;
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM