Сложность использования «публичных виртуальных» переменных при создании базы данных. - PullRequest
0 голосов
/ 19 января 2012

Я создаю две таблицы в Visual Web Developer 2010 Express, используя следующий код:

http://imgur.com/a/Mi2Bv (извините, форум не позволяет мне из-за новой учетной записи публиковать изображения напрямую)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BarApp.Models
{
    public class Drinks
    {
        public int DrinksId { get; set; }
        public int EstablishmentsID { get; set; }
        public string name { get; set; }
        public decimal price { get; set; }
        public string description { get; set; }
        public string image { get; set; }

        public virtual Establishments establishment { get; set; }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace BarApp.Models
{
    public class Promotions
    {
        public int PromotionsId { get; set; }
        public string name { get; set; }
        public float discount { get; set; }
        public int EstablishmentId { get; set; }
        public int DrinkId { get; set; }
        public string description { get; set; }

        public virtual Establishments establishment { get; set; }
        public virtual Drinks drink { get; set; }
    }
}

Но когда я смотрю на созданные таблицы, таблица Promotions содержит фактические строки для общедоступного виртуального кода, а таблица Drinks - нет.

Я могу получитьТаблицы Drinks работают так, как я хочу в других местах проекта, но я не могу заставить Promotions вести себя одинаково, потому что кажется, что «public virtual» дает разные результаты в каждой таблице.

Я не понимаю, почемуТаблица Promotions фактически создает строки для общедоступных виртуальных переменных.Может кто-нибудь помочь мне понять?

1 Ответ

0 голосов
/ 23 января 2012

В этой конкретной ситуации я не использовал обычный способ ссылки на поле Id другой таблицы.

Мне просто нужно было изменить следующее:

public int EstablishmentId {get; задавать; } public int DrinkId {get; задавать; }

к следующему:

public int EstablishmentsId {get; задавать; } public int DrinksId {get; задавать; }

Мои таблицы были созданы, как и ожидалось, после внесения этих изменений.

...