Была взята за основу готовая база данных и по ней создан контекст и модели таблиц. Связал таблицы в конструкторе таблиц таким образом: countrylanguage -> PRIMARY KEY (country.Code), DEPENDET PROPERTY(countrylanguage.CountryCode) : One-to-Many countycity -> PRIMARY KEY(country.code), DEPENDENT PROPERTY(city.CountryCode): One-to-Many При попытке добавления новой "страны" и последующим сохранение возникает ошибка.
public partial class country
{
[Key]
[ForeignKey("cities")]
public string Code { get; set; }
public string Name { get; set; }
public string Continent { get; set; }
public string Region { get; set; }
public double SurfaceArea { get; set; }
public Nullable<short> IndepYear { get; set; }
public int Population { get; set; }
public Nullable<double> LifeExpectancy { get; set; }
public Nullable<double> GNP { get; set; }
public Nullable<double> GNPOld { get; set; }
public string LocalName { get; set; }
public string GovernmentForm { get; set; }
public string HeadOfState { get; set; }
public Nullable<int> Capital { get; set; }
public string Code2 { get; set; }
public ICollection<city> cities { get; set; }
public ICollection<countrylanguage> lang { get; set; }
public country()
{
cities = new List<city>();
lang = new List<countrylanguage>();
}
}
public partial class city
{
public int ID { get; set; }
public string Name { get; set; }
public string CountryCode { get; set; }
public string District { get; set; }
public int Population { get; set; }
public Nullable<System.DateTime> CreateDate { get; set; }
public country country { get; set; }
}
То, что находится в T-SQL ->
CREATE TABLE [dbo].[country] (
[Code] VARCHAR (3) DEFAULT ('') NOT NULL,
[Name] VARCHAR (52) DEFAULT ('') NOT NULL,
[Continent] VARCHAR (50) NOT NULL,
[Region] VARCHAR (26) DEFAULT ('') NOT NULL,
[SurfaceArea] FLOAT (53) DEFAULT ((0.00)) NOT NULL,
[IndepYear] SMALLINT DEFAULT (NULL) NULL,
[Population] INT DEFAULT ((0)) NOT NULL,
[LifeExpectancy] FLOAT (53) DEFAULT (NULL) NULL,
[GNP] FLOAT (53) DEFAULT (NULL) NULL,
[GNPOld] FLOAT (53) DEFAULT (NULL) NULL,
[LocalName] VARCHAR (45) DEFAULT ('') NOT NULL,
[GovernmentForm] VARCHAR (45) DEFAULT ('') NOT NULL,
[HeadOfState] VARCHAR (60) DEFAULT (NULL) NULL,
[Capital] INT DEFAULT (NULL) NULL,
[Code2] VARCHAR (2) DEFAULT ('') NOT NULL,
PRIMARY KEY CLUSTERED ([Code] ASC)
);
CREATE TABLE [dbo].[city] (
[ID] INT NOT NULL,
[Name] VARCHAR (35) DEFAULT ('') NOT NULL,
[CountryCode] VARCHAR (3) DEFAULT ('') NOT NULL,
[District] VARCHAR (20) DEFAULT ('') NOT NULL,
[Population] INT DEFAULT ((0)) NOT NULL,
[CreateDate] DATE DEFAULT (NULL) NULL,
PRIMARY KEY CLUSTERED ([ID] ASC)
);
CREATE TABLE [dbo].[countrylanguage] (
[CountryCode] VARCHAR (3) DEFAULT ('') NOT NULL,
[Language] VARCHAR (30) DEFAULT ('') NOT NULL,
[IsOfficial] BIT DEFAULT ((0)) NOT NULL,
[Percentage] FLOAT (53) DEFAULT ((0.0)) NOT NULL,
PRIMARY KEY CLUSTERED ([CountryCode] ASC, [Language] ASC)
);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
CountyDB db = new CountyDB();
country country = new country()
{
Code = "Ccode",
Capital = 1000,
Code2 = "Ccode2",
Continent = "Australia",
GNP = 1200,
GNPOld = 1000,
GovernmentForm = "Resp",
HeadOfState = "A.A.Log",
IndepYear = 1200,
LifeExpectancy = 59,
LocalName = "LocName",
Name = "CName",
Population = 1000000,
Region = "Oce",
SurfaceArea = 120000
};
db.countries.Add(country);
db.SaveChanges();
dataGridView1.DataSource = db.countries.ToList();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как сохранить график, построенный с помощью Chart в PDF формате?
Имеется две таблицы "CarsSet" и "MotorSet" со связью многие ко многимТретья (связывающая таблица в EF не видна)
Мне необходимо показывать MenuStrip только когда на него наведен курсор, а когда курсор покидает MenuStrip - прятатьКак я понял, сделать это с можно...
обычно перед создание анонимного типа сразу известно какие поля будут в него входить, но что, если у меня нет этой информации и мне требуется...