ADO.NET Entity Framework SaveChanges () не работает - PullRequest
1 голос
/ 13 июня 2009

Я хочу добавить нового администратора в свою базу данных. Но это не сработает. Пожалуйста, посмотрите на обработчик события button1_Click, мне нужно добавить значение в этом событии.

public partial class Form1 : Form
    {
        protected NetTanitimTestEntities adminNameContext;
        public Form1()
        {
            InitializeComponent();
            adminNameContext = new NetTanitimTestEntities();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            ObjectQuery<Admins> adminNameQuery = adminNameContext.Admins;
            dataGridView1.DataSource = adminNameQuery;
            dataGridView1.Columns["id"].Visible = false;
        }

        private void button1_Click(object sender, EventArgs e)
        {

            using (NetTanitimTestEntities newadmin = new NetTanitimTestEntities())
            {
                Admins admin = new Admins { Name = "ali", SurName = "Çorlu", Username = "acorlu", Password = "1234", UserType = "user" };
                newadmin.SaveChanges();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            adminNameContext.SaveChanges();
        }
    }

Ответы [ 2 ]

13 голосов
/ 13 июня 2009

Похоже, вам нужно добавить следующую команду в ваш код:

using (NetTanitimTestEntities newadmin = new NetTanitimTestEntities())
{
     Admins admin = new Admins { Name = "ali", SurName = "Çorlu", Username = "acorlu", Password = "1234", UserType = "user" };
     newadmin.AddToAdmins(admin);
     newadmin.SaveChanges();
}

или что-то в этом роде в зависимости от фактического имени сгенерированного метода. Ваш объект "newadmin" должен иметь набор методов "add", сгенерированных для каждой сущности, имеющейся в вашей модели.

4 голосов
/ 13 июня 2009

Должен признать, я не знаю целую кучу об Entity Framework, но в вашем событии click1 вы создаете новую сущность, но затем просто вызываете SaveChanges, но вы не добавили новую сущность Admins контекст NetTanitimTestEntities. Итак, я бы понял, потому что контекст NetTanitimTestEntities, который вы используете, не знает о новой созданной вами сущности, ничего не сохраняется в базе данных. Итак, если вы добавите эту новую сущность Admins в контекст и затем вызовете SaveChanges, надеюсь, она будет сохранена в вашей БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...