С учетом регистра с кодом Entity Framework сначала - PullRequest
0 голосов
/ 29 июня 2018

Я создаю базу данных с Entity Framework CodeFirst. Я смотрю на другие вопросы, но ни один из них не имеет специального ответа. Я пытаюсь сохранить эти два КЛЮЧА как разные строки в моей таблице.

12E60AED-7491-49B3-8006-78ECEA63B376 12e60aed-7491-49b3-8006-78ecea63b376

Это мой класс для атрибута:

[AttributeUsage(AttributeTargets.Property, AllowMultiple = true)]
    public class CaseSensitive : Attribute
    {
            public CaseSensitive()
            {
                IsEnabled = true;
            }
            public bool IsEnabled { get; set; }
    }

Это моя модель БД:

[Table("StandardBusinessDocument", Schema = "EFatura")]
    public class StandardBusinessDocument{
        [Key]
        [Column( TypeName= "varchar" , Order =0), MaxLength(36) ]
        [CaseSensitive]
        public string StandardBusinessDocumentGuid { get; set; }

        [Key]
        [Column(TypeName = "bit", Order = 1)]
        public Boolean StandardBusinessDocumentType { get; set; }

        [Column(TypeName = "varchar"), MaxLength(4)]
        public string Code{ get; set; }
}

А это entityContex:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Add
                (new AttributeToColumnAnnotationConvention<CaseSensitive, bool>
                ("CaseSensitive", (property, attributes) => attributes.Single().IsEnabled));
}

Но это не работает, когда я смотрю caseSensitive из tableDesigner-Collation CaseSensitive отключено. Как я могу это сделать?

1 Ответ

0 голосов
/ 29 июня 2018

Я нахожу ответ. Я пишу CaseSensitive после [Key] и этой работы. Я не знаю как ..:

[Key]
[CaseSensitive]
[Column( TypeName= "varchar" , Order =0), MaxLength(36) ]
public string StandardBusinessDocumentGuid { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...