Manoj Chamikara Ответов: 1

Data entity modelconfiguration modelvalidationexception при вставке базы данных


я начинаю с Entity Framework
Data Entity ModelConfiguration ModelValidationException при вставке данных odatabase
что не так в моем коде?
Заранее благодарю!

Это мой класс объектов
[Table ("customerDetails")]
    class customerDetails
    {
        [Key]
        internal int cusId { get; set; }
        internal string cusName { get; set; }
        internal string cusNic { get; set; }
        internal string cusAdd { get; set; }
        internal DateTime cusDob { get; set; }
    }.


Это DbContext
class cusSave : DbContext
    {
        public cusSave() : base(@"Server= servername"
                            + "; Database= dbname"
                            + "; UID= user"
                            + "; Pwd= pass") { }
        public DbSet<customerDetails> saveCus { get; set; }
    }


Это событие btn
private void btnSave_Click(object sender, EventArgs e)
        {
            var cus =new Logic.customerDetails
            {
                cusId = Convert.ToInt32(txtCusId.Text),
                cusName = txtcusName.Text,
                cusAdd = txtcusAdd.Text,
                cusNic = txtcusNic.Text,
                cusDob = dtpDob.Value
            };
                var saveCus = new Logic.cusSave();
                saveCus.saveCus.Add(cus);
                saveCus.SaveChanges();
        }



Решение здесь
Измените класс объекта следующим образом
Спасибо Всем
Специально Graeme_Grant

class customerDetails
    {
        [Key]
        public int cusId { get; set; }
        public string cusName { get; set; }
        public string cusNic { get; set; }
        public string cusAdd { get; set; }
        public DateTime cusDob { get; set; }
    }


Что я уже пробовал:

проверьте все значения объекта перед сохранением при назначении объекту, но ничего плохого

Graeme_Grant

вы заполнили поля по умолчанию (Server= servername, Database= dbname, UID= user, Pwd= pass) для подключения к базе данных, верно?

Manoj Chamikara

Нет нет фактические значения отличаются для поста я меняю значения но те же аргументы

Graeme_Grant

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

Graeme_Grant

Должен был спросить... :)

Manoj Chamikara

внутреннее исключение равно нулю
это все, что я получаю

Во время генерации модели была обнаружена одна или несколько ошибок валидации:
EntityType 'customerDetails' не имеет определенного ключа. Определите ключ для этого типа сущности.
saveCus: EntityType: EntitySet 'saveCus' основан на типе 'customerDetails' , который не имеет определенных ключей.

1 Ответов

Рейтинг:
4

Graeme_Grant

Окей. Область действия класса & / или свойств, по-видимому, является вашей проблемой. Измените как класс, так и свойства public и повторите попытку.


Manoj Chamikara

Большое спасибо!
Вот в чем проблема
я меняю класс объекта как вы сказали тогда он работает нормально
(Вопрос обновлен)

Graeme_Grant

Добро пожаловать! :)