EntityValidationErrors при добавлении

235
21 июня 2018, 11:40

Была взята за основу готовая база данных и по ней создан контекст и модели таблиц. Связал таблицы в конструкторе таблиц таким образом: 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();
    }
READ ALSO
Сохранить график Chart C# в PDF

Сохранить график Chart C# в PDF

Как сохранить график, построенный с помощью Chart в PDF формате?

157
Выборка - Linq, Entity Framework (Many-to-many)

Выборка - Linq, Entity Framework (Many-to-many)

Имеется две таблицы "CarsSet" и "MotorSet" со связью многие ко многимТретья (связывающая таблица в EF не видна)

178
c# - Спрятать MenuStrip когда курсор не находится на нем

c# - Спрятать MenuStrip когда курсор не находится на нем

Мне необходимо показывать MenuStrip только когда на него наведен курсор, а когда курсор покидает MenuStrip - прятатьКак я понял, сделать это с можно...

182
Динамический анонимный тип

Динамический анонимный тип

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

152