第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

2 域類中的構(gòu)造函數(shù)

2 域類中的構(gòu)造函數(shù)

C#
繁星淼淼 2023-08-13 16:23:41
我正在接受培訓(xùn)并查看一些網(wǎng)絡(luò)應(yīng)用程序的代碼。我們在我們的組織中使用 MVC,我不確定為什么我們需要 2 個這樣的構(gòu)造函數(shù),請解釋一下,以便我可以更好地了解它。謝謝。namespace ddc.Core.Domain{    public class Request : Entity    {        public Request()        {        }        public Request(int buildingId, int adId, DateTime eventDate, DateTime eventStart, DateTime eventEnd, DateTime? timeOfApproval)        {            this.BuildingId = buildingId;            this.AdId = adId;            this.EventDate = eventDate;            this.StartTime = eventStart;            this.PowerNeed = powerNeed;            this.EventDescription = eventDescription;            this.EnteredBy = enteredBy;            this.EnteredOn = enteredOn;            this.TimeOfApproval = timeOfApproval;        }        public virtual int BuildingId { get; set; }        public virtual int AdId { get; set; }        public virtual DateTime EventDate { get; set; }        public virtual DateTime StartTime { get; set; }        public virtual DateTime EndTime { get; set; }        public virtual DateTime? TimeOfApproval { get; set; }    }}
查看完整描述

3 回答

?
肥皂起泡泡

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超6個贊

具有大量參數(shù)的構(gòu)造函數(shù)允許某人實(shí)例化一個對象并在一次構(gòu)造函數(shù)調(diào)用中設(shè)置所有屬性,這通常非常方便:


var request = new Request(buildingId, adId, eventDate, eventStart, eventEnd, timeOfApproval);

但是,一旦定義了自己的構(gòu)造函數(shù),就不再有自動生成的默認(rèn)構(gòu)造函數(shù)(它允許您創(chuàng)建不帶任何參數(shù)的對象),因此必須手動定義。


var request = new Request();


// Later...

request.BuildingId = buildingId;

request.AdId = adId;

request.EventDate = eventDate;

//...etc.

因此這個類有兩個構(gòu)造函數(shù)。


查看完整回答
反對 回復(fù) 2023-08-13
?
守候你守候我

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個贊

如果您使用實(shí)體框架,則必須有一個無參數(shù)構(gòu)造函數(shù)。當(dāng)實(shí)體框架從數(shù)據(jù)庫查詢映射到實(shí)體時,使用默認(rèn)構(gòu)造函數(shù)實(shí)例化實(shí)體的新實(shí)例,以使用從數(shù)據(jù)庫檢索的數(shù)據(jù)填充它。


因此,當(dāng)您擁有第二個時,您可以創(chuàng)建一個實(shí)例并設(shè)置所有屬性


new Request(buildingId, adId, ...);

您需要為 EF 添加第一個(無參數(shù)構(gòu)造函數(shù))。它允許創(chuàng)建一個實(shí)例并僅設(shè)置您需要的屬性(或不設(shè)置任何屬性),因?yàn)樗袑傩远加泄苍O(shè)置器


new Request

{

    BuildingId =  buildingId,

    AdId =  adId,

    ...

}


查看完整回答
反對 回復(fù) 2023-08-13
?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個贊

無參數(shù)構(gòu)造函數(shù)應(yīng)該是因?yàn)閷?shí)體框架需要它從數(shù)據(jù)庫創(chuàng)建對象。我建議為此使用內(nèi)部范圍。


查看完整回答
反對 回復(fù) 2023-08-13
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號