5

DBに次のテーブルがあります。

ここに画像の説明を入力

AppsDB のテーブルには既にアプリがあります。それらをエンドユーザーに提示すると、エンドユーザーはアイテムをAppsToDomainsテーブルに追加する必要があります

エンティティをそのテーブルに保存しようとしています:

private static void FillDomains(string[] domainsWls, EntityCollection<AppToDomains_V1> AppsToDomains, 
    Guid appGuid, Guid groupId ,bool isWhiteListed)
{
    foreach (var domain in domainsWls)
    {
        AppsToDomains.Add(new AppToDomains_V1()
                              {
                                  Domain = domain,
                                  IsWhiteListed = isWhiteListed,
                                  AppId = appGuid,
                                  GroupId = groupId,
                              });
    }
}

しかし、次のエラーが発生します。

{"値 NULL を列 'ClientAppID'、テーブル 'MamDB.dbo.Apps' に挿入できません。列は NULL を許可しません。INSERT は失敗します。\r\nステートメントは終了しました。"}

どうしてですか?Apps テーブルに行を追加しないので

4

3 に答える 3

0

渡すパラメーターの 1 つに NULL 値が含まれている可能性があります。

 EntityCollection<AppToDomains_V1> AppsToDomains, 
    Guid appGuid, Guid groupId

Appsこれらのオブジェクトを調査し、どれがテーブルに関連しているかを確認し、null 値を調査する必要があります。

于 2013-04-17T07:41:32.423 に答える
0

何が null かを調べる必要があります。取得した例外によると、投稿したコードには問題のソースがありません。変更を保存すると、すべての変更が保存されます。また、投稿の現在のスコープに表示されない他のコードによって行われた変更。

列 ClientAppID を持つテーブルにレコードを追加している他のコードを検索します

于 2013-04-17T06:51:29.863 に答える
0

スキーマに基づいて、すべてのフィールドで null を許可しないことが示されています。そのため、EF はそれを null 不可にしました。強制的に EF に null 値を格納すると、データをスキーマに保存するときに問題が発生します。

于 2013-04-17T07:27:20.457 に答える