Информация об изменениях

Сообщение Re[13]: Через год-два .NET Core потеснит Java на рынке enter от 05.05.2020 17:56

Изменено 05.05.2020 18:07 Serginio1

Re[13]: Через год-два .NET Core потеснит Java на рынке enter
Здравствуйте, anton_t, Вы писали:

_> Я тут в мапинге не вижу информации о типах данных на стороне СУБД. Только типы данных в приложении, мапинг на столбцы и валидацию.

Ну ты по ссылке ходил? Там же кроме мапинга имени столбцов еще и типы столбцов

[Column("_CODE",TypeName = "nvarchar")]
По этой схеме при Code First генерятся базы
https://infostart.ru/public/402038/

Там куча примеров


public  partial  class  ТабличнаяЧастьПредок
    {
 
        virtual  public  byte[] СсылкаID { get; set; }
 
        [Key]
        [Column("_KeyField", Order = 1)]
        [MaxLength(4)]
        publicbyte[] KeyField { get; set; }
        virtual  public  int  НомерСтроки { get; set; }
 
 
    }


На основании этих предков можно уже создавать потомков

Я сделал несколько тестовых справочников со всевозможными типами.
Например


[Table("_Reference10")]
public  partial  class  Тестовый:СправочникПредок
{

[Column("_CODE",TypeName = "nvarchar")]
[Required]
[StringLength(9)]
 public  string  Код { get; set; }
 
[Column("_DESCRIPTION",TypeName = "nvarchar")]
[Required]
[StringLength(25)]
override  public  string  Наименование { get; set; }
 
 
[Column("_Fld12",TypeName = "nvarchar")]
[StringLength(20)]
public  string  Строка { get; set; }
 
[Column("_Fld46",TypeName = "nchar")]
[StringLength(10)]
public  string  СтрокаФиксированная { get; set; }
 
[Column("_Fld47",TypeName = "ntext")]
public  string  СтрокаДлинная { get; set; }
 
[Column("_Fld13",TypeName = "numeric")]
[Required]
public System.Decimal Число { get; set; }
 
[Column("_Fld14",TypeName = "numeric")]
[Required]
public System.Int64Целое { get; set; }
 [Column("_Fld15")]
[Required]
public  DateTime  Дата { get; set; }
 
[Column("_Fld16")]
[Required]
[MaxLength(1)]
public  byte[] БулевоId { get; set; }
 
[Column("_Fld17",TypeName = "image")]
[Required]
public  byte[] ХранилищеЗначения { get; set; }



Типы БД nvarchar,nchar,ntext,numeric,DateTime,image

Для описания Decimal для CodeFirst нужны еще приседания, но для BaseFirst и этого предостаточно.
Re[13]: Через год-два .NET Core потеснит Java на рынке enter
Здравствуйте, anton_t, Вы писали:

_> Я тут в мапинге не вижу информации о типах данных на стороне СУБД. Только типы данных в приложении, мапинг на столбцы и валидацию.

Ну ты по ссылке ходил? Там же кроме мапинга имени столбцов еще и типы столбцов

[Column("_CODE",TypeName = "nvarchar")]
По этой схеме при Code First генерятся базы
https://infostart.ru/public/402038/

Там куча примеров


public  partial  class  ТабличнаяЧастьПредок
    {
 
        virtual  public  byte[] СсылкаID { get; set; }
 
        [Key]
        [Column("_KeyField", Order = 1)]
        [MaxLength(4)]
        publicbyte[] KeyField { get; set; }
        virtual  public  int  НомерСтроки { get; set; }
 
 
    }


На основании этих предков можно уже создавать потомков

Я сделал несколько тестовых справочников со всевозможными типами.
Например


[Table("_Reference10")]
public  partial  class  Тестовый:СправочникПредок
{

[Column("_CODE",TypeName = "nvarchar")]
[Required]
[StringLength(9)]
 public  string  Код { get; set; }
 
[Column("_DESCRIPTION",TypeName = "nvarchar")]
[Required]
[StringLength(25)]
override  public  string  Наименование { get; set; }
 
 
[Column("_Fld12",TypeName = "nvarchar")]
[StringLength(20)]
public  string  Строка { get; set; }
 
[Column("_Fld46",TypeName = "nchar")]
[StringLength(10)]
public  string  СтрокаФиксированная { get; set; }
 
[Column("_Fld47",TypeName = "ntext")]
public  string  СтрокаДлинная { get; set; }
 
[Column("_Fld13",TypeName = "numeric")]
[Required]
public System.Decimal Число { get; set; }
 
[Column("_Fld14",TypeName = "numeric")]
[Required]
public System.Int64Целое { get; set; }
 [Column("_Fld15")]
[Required]
public  DateTime  Дата { get; set; }
 
[Column("_Fld16")]
[Required]
[MaxLength(1)]
public  byte[] БулевоId { get; set; }
 
[Column("_Fld17",TypeName = "image")]
[Required]
public  byte[] ХранилищеЗначения { get; set; }



Типы БД nvarchar,nchar,ntext,numeric,DateTime,image

Для описания Decimal для CodeFirst нужны еще приседания, но для BaseFirst и этого предостаточно.
https://stackoverflow.com/questions/3504660/decimal-precision-and-scale-in-ef-code-first