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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

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

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

C#
繁星淼淼 2023-08-13 16:23:41
我正在接受培訓(xùn)并查看一些網(wǎng)絡(luò)應(yīng)用程序的代碼。我們?cè)谖覀兊慕M織中使用 MVC,我不確定為什么我們需要 2 個(gè)這樣的構(gòu)造函數(shù),請(qǐng)解釋一下,以便我可以更好地了解它。謝謝。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個(gè)贊

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


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

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


var request = new Request();


// Later...

request.BuildingId = buildingId;

request.AdId = adId;

request.EventDate = eventDate;

//...etc.

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


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

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

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


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


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

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


new Request

{

    BuildingId =  buildingId,

    AdId =  adId,

    ...

}


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

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

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


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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