加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 数据库没有创建记录

发布时间:2020-12-15 21:52:53 所属栏目:百科 来源:网络整理
导读:使用EF 5.0在数据库中插入记录不起作用.通过我的代码调试我找不到任何异常.通过代码它应该在数据库中插入一条新记录,但是当我查看数据库时,没有创建新记录.但是,我确实对我的数据库进行了更改,当我检查“assestUser”(模型)时,我可以看到所有值,包括已删除的
使用EF 5.0在数据库中插入记录不起作用.通过我的代码调试我找不到任何异常.通过代码它应该在数据库中插入一条新记录,但是当我查看数据库时,没有创建新记录.但是,我确实对我的数据库进行了更改,当我检查“assestUser”(模型)时,我可以看到所有值,包括已删除的列(我所做的更改).有人可以帮我解决我做错的事吗?
这就是我所做的:

页:

public partial class _Default : Page
{
    EntityContext context;

    public _Default()
    {
        context = new EntityContext();
    }

     protected void btnSavePersonalDetails_Click(object sender,EventArgs e)
    {
        try
        {
            SkillsAssestUser assestUser = new SkillsAssestUser();
            assestUser.DomainAcc = lblDomAcc.Text;
            assestUser.Name = txtName.Text;
            assestUser.Surname = txtSurname.Text;
            assestUser.Division = txtDivision.Text;
            assestUser.Manager = txtManager.Text;


            context.SkillsAssestUsers.Add(assestUser);
            context.SaveChanges();


            //var assestUser = context.Set<SkillsAssestUser>();
            //assestUser.Add(new SkillsAssestUser
            //{
            //    DomainAcc = lblDomAcc.Text,//    Name = txtName.Text,//    Surname = txtSurname.Text,//    Division = txtDivision.Text,//    Manager = txtManager.Text
            //});

            //context.SaveChanges();

            ClearPersonalDetails();
        }
        catch (Exception ex)
        {
            throw new Exception("Error inserting Details. " + ex.Message);
        }
    }

的DbContext:

public partial class EntityContext : DbContext
 {
    public EntityContext()
        : base("name=SOSConnectionString")
    {
        base.Configuration.LazyLoadingEnabled = true;
        base.Configuration.ProxyCreationEnabled = false;
    }

     #region AddTables
    public DbSet<AdditionalSkills> AdditionalSkillss { get; set; }
    public DbSet<CertifiedTraining> CertifiedTrainings { get; set; }
    public DbSet<OtherCertifiedTraining> OtherCertifiedTrainings { get; set; }
    public DbSet<OtherEdu> OtherEdus { get; set; }
    public DbSet<SchoolEdu> SchoolEdus { get; set; }
    public DbSet<SkillsAssestUser> SkillsAssestUsers { get; set; }
    public DbSet<ValueAddedSkills> ValueAddedSkillss { get; set; } 
    #endregion
    }

     void Application_Start(object sender,EventArgs e)
    {
        // Code that runs on application startup
        AuthConfig.RegisterOpenAuth();
        Database.SetInitializer<EntityContext>(null);
    }

我究竟做错了什么? ……新手…

解决方法

首先检查连接字符串.

确保这是在Global.ASAX上:

void Application_Start(object sender,EventArgs e)
 {
    // Code that runs on application startup
    AuthConfig.RegisterOpenAuth();
    Database.SetInitializer<EntityContext>(null);
 }

使用这样的代码:

using (var mycontext = new context())
        {
           SkillsAssestUser assestUser = new SkillsAssestUser();
           assestUser.DomainAcc = lblDomAcc.Text;
           assestUser.Name = txtName.Text;
           assestUser.Surname = txtSurname.Text;
           assestUser.Division = txtDivision.Text;
           assestUser.Manager = txtManager.Text;

           mycontext.SkillsAssestUsers.Add(assestUser);
           mycontext.SaveChanges();
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读