0

Umbraco docs のこの例を使用していますが、データベース テーブルに値を保存しようとすると、次のエラーが表示されます。列はヌルを許可しません。INSERT は失敗します。ステートメントは終了されました。

また、テーブルを作成してデータベースで確認した後、主キーと自動インクリメント オプションが 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();
                }

            }
        }
    }
}
4

1 に答える 1