亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試使用 NPoco 在數據庫中插入值時出錯

嘗試使用 NPoco 在數據庫中插入值時出錯

C#
波斯汪 2023-09-24 15:41:47
我正在使用Umbraco 文檔中的這個示例,當我嘗試將值保存到數據庫表時,我收到此錯誤:無法將 NULL 值插入列“Id”、表“petapoco.dbo.BlogComments” ;列不允許為空。插入失敗。該語句已終止。另外,在創建表并在數據庫中檢查它后,我可以看到 id 字段未設置主鍵和自動增量選項。這就是我插入值的方式:public class Class1 : IUserComposer{    public void Compose(Composition composition)    {       composition.Components().Append<SubscribeToContentServiceSavingComponent>();    }    public class SubscribeToContentServiceSavingComponent : IComponent    {        public void Initialize()        {            MemberService.Saved += MemberService_Saving;        }        public void Terminate()        {        }        private void MemberService_Saving(IMemberService sender, SaveEventArgs<IMember> e)        {            foreach (IMember member in e.SavedEntities)            {                var blogPostToAdd = new BlogCommentSchema();                blogPostToAdd.BlogPostUmbracoId = member.Id;                blogPostToAdd.Name = member.Name;                blogPostToAdd.Email = member.Name;                blogPostToAdd.Website = member.Name;                blogPostToAdd.Message = member.Name;                using (var scope = Current.ScopeProvider.CreateScope(autoComplete:true))                {                    var database = scope.Database;                    // use database                      scope.Database.Insert<BlogCommentSchema>(blogPostToAdd);                    scope.Complete();                }            }        }    }}
查看完整描述

1 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

Umbraco 論壇上的好人解決了我的問題。這是我的課堂上缺失的部分:


[PrimaryKeyColumn(AutoIncrement = true, IdentitySeed = 1)]

所以我的課程最終應該是這樣的:


[TableName("BlogComments")]

    [PrimaryKey("Id", AutoIncrement = true)]

    [ExplicitColumns]

    public class BlogCommentSchema

    {

        [PrimaryKeyColumn(AutoIncrement = true, IdentitySeed = 1)]

        [Column("Id")]

        public int Id { get; set; }


        [Column("BlogPostUmbracoId")]

        public int BlogPostUmbracoId { get; set; }


        [Column("Name")]

        public string Name { get; set; }


        [Column("Email")]

        public string Email { get; set; }


        [Column("Website")]

        public string Website { get; set; }


        [Column("Message")]

        [SpecialDbType(SpecialDbTypes.NTEXT)]

        public string Message { get; set; }

    }

}


查看完整回答
反對 回復 2023-09-24
  • 1 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號