Поле со списком в сущности edmx - PullRequest
1 голос
/ 04 ноября 2010

Я новичок в C #.У меня есть вопрос о связывании выпадающего списка с внешним ключом в объекте объекта edmx.

У меня есть объект объекта edmx "Карта клиента", который имеет поля, и одним из полей является внешний ключ (CityID) этого клиента, который содержитИдентификатор таблицы списка городов или объекта «Город».

Я хочу управлять списком клиентов в моем коде.Я заполняю комбинированный список.Также извлекает текущий выбранный элемент, когда пользователь сохраняет запись.Тем не мение;я не уверен, как назначить выбранный элемент в комбинированном элементе обратно объекту Customer.Все, что я вижу в объекте сущности, это свойство City и CityReference.Мой вопрос заключается в том, как назначить выбранный элемент с текущим идентификатором города "карточке клиента" в объекте объекта?Пожалуйста, включите код.

Вот мой код

    private class CustCard
    {
        public int ID { get; set; }
        public string CompanyName { get; set; }
        public string ContactName { get; set; }
        public string City { get; set; }
    }

    public class CityCard
    {
       public int ID {get; set;}
       public string Name {get; set;}
       public string Country {get; set;}
    }

    var custCards = from p in entities.CustomerCards
                        select new CustCard
                        {
                            ID = p.ID,
                            CompanyName = p.CompanyName,
                            ContactName = p.ContactName,
                            City = p.City.Name,
                            CityID = p.City.ID,
                        };

    var cityList = from p in entities.Cities
                       select new CityCard
                       {
                            ID = p.ID,
                            Name = p.Name,
                            Country = p.Country.Name,
                       };

    //Bind City List
    CityComboBox.DataSource = CityList; //cities in the entity object
    CityComboBox.ValueMember = "ID";
    CityComboBox.DisplayMember = "Name";

    private void Save_Click(object sender, EventArgs e)
    {
            CustomerCard Cust = new CustomerCard();

            Cust.Address = addressTextBox.Text;
            Cust.CompanyName = companyNameTextBox.Text;


            **// HOW CAN I assign Selected item to the City field in the CustCard
            ????????????cityIDComboBox.SelectedItem;?????????????**

            entities.AddToCustomerCards(Cust);
            entities.SaveChanges();
    }

Ответы [ 2 ]

0 голосов
/ 04 ноября 2010
  private void Save_Click(object sender, EventArgs e)
    {
            CustomerCard Cust = new CustomerCard();

            Cust.Address = addressTextBox.Text;
            Cust.CompanyName = companyNameTextBox.Text;


            Cust.City = CityComboBox.SelectedItem.Name;
            Cust.CityID = CityComboBox.SelectedItem.Value;

            entities.AddToCustomerCards(Cust);
            entities.SaveChanges();
    }
0 голосов
/ 04 ноября 2010

как насчет ...

Cust.City = CityComboBox.SelectedItem.Name;
...