Defaultifempty给我Null值,我希望它们是字符串"“

本文关键字:字符串 quot Null 给我 我希望 Defaultifempty | 更新日期: 2023-09-27 18:09:44

我正在c#中进行linq查询,一切工作顺利,但当我在MVC中调用此方法时它崩溃了,它不接受空值我希望空值为"

var referralDocs = (from d in _dc.ReferralDoctors
                                join mlog in _dc.LogPS.Where(x => x.id_action == 1)
                                on d.ReferralDoctorID equals mlog.id_PS into mlog
                                join _Category in _dc.ReferringDoctorCategories
                                on d.ReferringDoctorsCategory equals _Category.CategoryID into CatGroup
                                from _Category in CatGroup.DefaultIfEmpty()
                                where
                                d.DoctorID == doctorID && d.isDeleted == false && (d.NotificationEmail.Replace(" ", "").ToLower().Contains(search)
                                || d.PracticePhone.Replace(" ", "").ToLower().Contains(search) || d.LastName.Replace(" ", "").ToLower().Contains(search) || d.FirstName.Replace(" ", "").ToLower().Contains(search))
                                select new ReferralDoctorInfo()
                                                        {
                                                            BirthDate = d.BirthDate,
                                                            DoctorID = d.DoctorID,
                                                            FirstName = d.FirstName != null ? d.FirstName.Trim().Replace("'r'n", "").Replace("'r", "").Replace("'n", "") : "",
                                                            HasOptOutNews = d.HasOptOutNews,
                                                            isDeleted = d.isDeleted,
                                                            LastName = d.LastName != null ? d.LastName.Trim().Replace("'r'n", "").Replace("'r", "").Replace("'n", "") : "",                                                                
                                                            NotificationEmail = d.NotificationEmail != null ? d.NotificationEmail.Trim().Replace("'r'n", "").Replace("'r", "").Replace("'n", "") : "",                                                                
                                                            PracticePhone = d.PracticePhone,
                                                            PracticeName = d.PracticeName != null ? d.PracticeName.Trim().Replace("'r'n", "").Replace("'r", "").Replace("'n", "") : "",
                                                            ReferralDoctorID = d.ReferralDoctorID,
                                                            lastOptOutDatetime = mlog.Where(x => x.client_id == doctorID && x.id_PS == d.ReferralDoctorID).Max(y => y.date),
                                                            DoctorCategory = _Category 
                                                        });

我在select中输入:DoctorCategory = _Category

当我在MVC中获得这个对象时这个对象的第一行包含了该对象应有的所有值并且工作正常但是第二行没有值所以它给了我空值这很好因为我想要那些没有类别的但是在那个时候崩溃了因此我想让它们为

我想要的东西在DefaultifEmpty或在_Category允许我改变空值

像这样的

ReferingDoctorCategory = _Category.Name != null ? _Category.Name : "",

这个的问题是对对象不起作用所以我不能使用

Defaultifempty给我Null值,我希望它们是字符串"“

如果有人想要和我一样的东西,我找到了答案

DoctorCategory = _Category ?? new ReferringDoctorCategory()

这并没有改变每一行为空的"但它使每一行都为空这样MVC就不会崩溃