2017-12-11 8 views
0

言語テーブルに新しい列を追加したいのですが、他のモデル(ユーザー、ロールなど)と違って、ソリューションでLanguageモデルクラスが見つかりませんでした。 ApplicationLanguageから継承した新しいモデル(MyLanguages)を作成しようとしましたが、多くのことを行う必要があるため、悪い方法です。だから、それをする最善の方法は何ですか?AbpLanguageとAbpLanguageTextに列を追加する最も良い方法は?

+0

"多くのもの"とはどういう意味ですか? – aaron

+0

これは、言語マネージャ、言語リポジトリを書き直す必要があることを意味します。この方法で、既存のすべてのメソッドが機能しないように、新しい言語テーブルを作成しました。 –

+0

既存のメソッドは正常に動作します。どの列を追加しようとしていますか? 'DefaultLanguagesCreator'と' ApplicationLanguageManager'のサブクラスを変更することができます。これは避けるのが難しいです。 – aaron

答えて

1

この問題を達成する簡単な方法はありません。あなたの言ったように、それはUser/Roleエンティティと同じではありません。 MyLanguageという名前の新しいエンティティを作成し、Languageから継承できます。その後、Discriminator列が表示されます。 Discriminatorカラムの既存のすべての言語をMyLanguageに更新するための移行を追加します。次に、追加された新しい言語をMyLanguageに更新するカスタムコードを記述する必要があります。

https://aspnetzero.com/Documents/Extending-Existing-Entities

+0

ありがとう、私はそれを試してみる –

関連する問題