Объект, допускающий значение NULL, должен иметь значение в Select Linq. ⇐ C#
-
Anonymous
Объект, допускающий значение NULL, должен иметь значение в Select Linq.
У меня есть linq, и он выдает эту ошибку. Позвольте мне сначала показать вам мой linq:
публичный список GetHallForFair(Guid ID,int index) { return TradeTurkDBContext.WebFairHall.Where(x => x.WebFairHallIsActive == true && x.WebFairField.DataGuidID == ID) .Select(x => новый WebFairHall { WebFairHallID=x.WebFairHallID, HallSeatingOrders = x.HallSeatingOrders.Select(h => новый HallSeatingOrder { HallSeatingOrderRowValue = h.HallSeatingOrderRowValue, HallSeatingOrderColumnValue = h.HallSeatingOrderColumnValue, CompanyID=h.CompanyID, Company =new Company// это та часть, которая дает исключение. { DataGuidID = h.Company.DataGuidID, ИмяКомпании = h.Компания.НазваниеКомпании, FileRepos = h.Company.FileRepos.Select(f => новый FileRepo { FileData = f.FileData }).К списку() } }).К списку() }).OrderBy(x => x.WebFairHallID).Skip(индекс - 1).Take(1) .К списку(); } Я уже искал это исключение и понял, почему это происходит. Это происходит потому, что свойство Company может иметь значение null в этом свойстве HallSeatingOrders, и когда я удаляю часть Company в этом запросе, ошибка прекращается. Я также проверяю FileRepos для этого запроса, и он не выдает исключения, так что я в этом почти уверен.
Позвольте мне показать вам мой Company.cs:
общественный класс Компания: База { [Ключ] общественный ИНТ CompanyID {получить; набор; } [Обязательно(ErrorMessage="Обязательное поле"), StringLength(100)] общественная строка CompanyName {get; набор; } [Обязательный(ErrorMessage = «Обязательное поле»), StringLength(250)] общественная строка CompanyInfo {get; набор; } /// Илетишим Билгилери [Обязательный(ErrorMessage = «Обязательное поле»), Тип данных(ТипДанных.Адрес электронной почты)] публичная строка CompanyEMail {get; набор; } общественная строка CompanyWebSite {get; набор; } общественная строка CompanyAdString {get; набор; } [Обязательно(ErrorMessage = «Обязательное поле»), StringLength(20)] публичная строка CompanyPhone { get; набор; } [ДлинаСтроки(20)] публичная строка CompanyPhone2 {get; набор; } [ДлинаСтроки(20)] общественная строка CompanyMobilePhone {get; набор; } [ДлинаСтроки(20)] общественная строка CompanyFax {get; набор; } общественная строка CompanyRefNo {get; набор; } публичная строка CompanyInstagram {get; набор; } публичная строка CompanyTwitter {get; набор; } публичная строка CompanyFacebook {get; набор; } публичная строка CompanyLinkedin {get; набор; } публичная строка CompanyYoutube {get; набор; } общественная строка CompanyKeyword {get; набор; } /// общественная строка CompanySlug {get; набор; } публичный логический тип? CompanyIsCompleted {получить; набор; } общественный bool CompanyIsActive {получить; набор; } публичный интервал? CompanyClickCounter {получить; набор; } /// публичный интервал? CompanySaleAgentUser {получить; набор; } публичный интервал? WebFairHallID {получить; набор; } публичный логический тип? CompanyIsInFair {получить; набор; } публичный логический тип? CompanyFairIsFeatured {получить; набор; } публичный логический тип? CompanyProductsIsInFair {получить; набор; } публичный логический тип? CompanyIsInShopping {получить; набор; } /// #region /*Объекты FluentApi*/ общественный виртуальный WebFairHall WebFairHall {get; набор; } общественный виртуальный ICollection HallSeatingOrders {get; набор; } #конечныйрегион } HallSeatingOrder.cs
публичный класс HallSeatingOrder: Base { [Ключ] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] общественный ИНТ HallSeatingOrderID {получить; набор; } [Обязательно(ErrorMessage = "Обязательное поле!")] общественный ИНТ WebFairHallID {получить; набор; } публичный интервал? CompanyID {получить; набор; }// В этом-то и дело [Обязательно(ErrorMessage = "Обязательное поле!")] общественный ИНТ HallSeatingOrderColumnValue {получить; набор; } [Обязательно(ErrorMessage = "Обязательное поле!")] общественная строка HallSeatingOrderRowValue {get; набор; } общественный bool HallSeatingOrderIsSpecial {get; набор; } #region /*Объекты FluentApi*/ публичная компания Компания { get; набор; }В этом-то и дело общественный WebFairHall WebFairHall {получить; набор; } #конечныйрегион } Я не знаю, что делать. я пытался проверить свойства, являются ли они нулевыми, но у меня это не сработало.
У меня есть linq, и он выдает эту ошибку. Позвольте мне сначала показать вам мой linq:
публичный список GetHallForFair(Guid ID,int index) { return TradeTurkDBContext.WebFairHall.Where(x => x.WebFairHallIsActive == true && x.WebFairField.DataGuidID == ID) .Select(x => новый WebFairHall { WebFairHallID=x.WebFairHallID, HallSeatingOrders = x.HallSeatingOrders.Select(h => новый HallSeatingOrder { HallSeatingOrderRowValue = h.HallSeatingOrderRowValue, HallSeatingOrderColumnValue = h.HallSeatingOrderColumnValue, CompanyID=h.CompanyID, Company =new Company// это та часть, которая дает исключение. { DataGuidID = h.Company.DataGuidID, ИмяКомпании = h.Компания.НазваниеКомпании, FileRepos = h.Company.FileRepos.Select(f => новый FileRepo { FileData = f.FileData }).К списку() } }).К списку() }).OrderBy(x => x.WebFairHallID).Skip(индекс - 1).Take(1) .К списку(); } Я уже искал это исключение и понял, почему это происходит. Это происходит потому, что свойство Company может иметь значение null в этом свойстве HallSeatingOrders, и когда я удаляю часть Company в этом запросе, ошибка прекращается. Я также проверяю FileRepos для этого запроса, и он не выдает исключения, так что я в этом почти уверен.
Позвольте мне показать вам мой Company.cs:
общественный класс Компания: База { [Ключ] общественный ИНТ CompanyID {получить; набор; } [Обязательно(ErrorMessage="Обязательное поле"), StringLength(100)] общественная строка CompanyName {get; набор; } [Обязательный(ErrorMessage = «Обязательное поле»), StringLength(250)] общественная строка CompanyInfo {get; набор; } /// Илетишим Билгилери [Обязательный(ErrorMessage = «Обязательное поле»), Тип данных(ТипДанных.Адрес электронной почты)] публичная строка CompanyEMail {get; набор; } общественная строка CompanyWebSite {get; набор; } общественная строка CompanyAdString {get; набор; } [Обязательно(ErrorMessage = «Обязательное поле»), StringLength(20)] публичная строка CompanyPhone { get; набор; } [ДлинаСтроки(20)] публичная строка CompanyPhone2 {get; набор; } [ДлинаСтроки(20)] общественная строка CompanyMobilePhone {get; набор; } [ДлинаСтроки(20)] общественная строка CompanyFax {get; набор; } общественная строка CompanyRefNo {get; набор; } публичная строка CompanyInstagram {get; набор; } публичная строка CompanyTwitter {get; набор; } публичная строка CompanyFacebook {get; набор; } публичная строка CompanyLinkedin {get; набор; } публичная строка CompanyYoutube {get; набор; } общественная строка CompanyKeyword {get; набор; } /// общественная строка CompanySlug {get; набор; } публичный логический тип? CompanyIsCompleted {получить; набор; } общественный bool CompanyIsActive {получить; набор; } публичный интервал? CompanyClickCounter {получить; набор; } /// публичный интервал? CompanySaleAgentUser {получить; набор; } публичный интервал? WebFairHallID {получить; набор; } публичный логический тип? CompanyIsInFair {получить; набор; } публичный логический тип? CompanyFairIsFeatured {получить; набор; } публичный логический тип? CompanyProductsIsInFair {получить; набор; } публичный логический тип? CompanyIsInShopping {получить; набор; } /// #region /*Объекты FluentApi*/ общественный виртуальный WebFairHall WebFairHall {get; набор; } общественный виртуальный ICollection HallSeatingOrders {get; набор; } #конечныйрегион } HallSeatingOrder.cs
публичный класс HallSeatingOrder: Base { [Ключ] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] общественный ИНТ HallSeatingOrderID {получить; набор; } [Обязательно(ErrorMessage = "Обязательное поле!")] общественный ИНТ WebFairHallID {получить; набор; } публичный интервал? CompanyID {получить; набор; }// В этом-то и дело [Обязательно(ErrorMessage = "Обязательное поле!")] общественный ИНТ HallSeatingOrderColumnValue {получить; набор; } [Обязательно(ErrorMessage = "Обязательное поле!")] общественная строка HallSeatingOrderRowValue {get; набор; } общественный bool HallSeatingOrderIsSpecial {get; набор; } #region /*Объекты FluentApi*/ публичная компания Компания { get; набор; }В этом-то и дело общественный WebFairHall WebFairHall {получить; набор; } #конечныйрегион } Я не знаю, что делать. я пытался проверить свойства, являются ли они нулевыми, но у меня это не сработало.
Мобильная версия