Сохранять значения в объекте объекта через SQL Query, используя linq to entity - PullRequest
1 голос
/ 07 мая 2019

У меня есть две таблицы sql и два класса, как показано ниже.

public class StateMaster
{
    public long StateId { get; set; }
    public string StateName { get; set; }
}

public class CityMaster
{
    public string CityName { get; set; }
    public long CityId { get; set; }
    public  StateMaster objStateMaster { get; set;}
}

Я могу сохранить основные данные города в объекте CityMaster, но как сохранить основные данные состояния в объекте City Master как объект objStateMaster, уже созданный в классе City Master.

List<CityMaster> objCityMaster = dbContext.Database.SqlQuery<CityMaster>(
$@"select 
    CM.CityName,
    CM.CityId
from CityMaster CM
left join StateMaster SM
    On SM.StateId= CM.StateId").ToList();

1 Ответ

1 голос
/ 07 мая 2019

Одним из возможных решений является создание нового класса с именем StateCityMaster следующим образом:

public class StateCityMaster
{
    public string CityName { get; set; }
    public long CityId { get; set; }
    public long StateId { get; set; }
    public string StateName { get; set; }
}

чем редактировать запрос как:

List<StateCityMaster> objStateCityMaster = dbContext.Database.SqlQuery<StateCityMaster>(
$@"select 
    CM.CityName,
    CM.CityId,
    SM.StateId,
    SM.StateName
from CityMaster CM
left join StateMaster SM
    On SM.StateId= CM.StateId").ToList();

, затем создайте список CityMaster объектов и скопируйте значения:

List<CityMaster> citiesMaster = new List<CityMaster>();

objStateCityMaster.forEach(scm => citiesMaster.Add(new CityMaster()
{
    CityName = scm.CityName;
    CityId = scm.CityId;
    objStateMaster.StateId = scm.StateId;
    objStateMaster.StateName = scm.StateName;
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...