Ich habe das folgende Problem mit meinen Update-IDs beim Seeding zu meinem db:Code First Migration Seed Fehler: Der binäre Operator Equal ist nicht definiert für die Typen 'System.Nullable`1 [System.Int32]' und 'System.Int32'
context.ClientPromos.AddOrUpdate(
cp => new { cp.ClientID, cp.Recommendation_ID, cp.PromoCode_ID },
new ClientPromo
{
ClientID = 0,
Recommendation_ID = Rec30Off.RecommendationID,
PromoCode_ID = pc30PerOffProd.PromoCodeID
},
new ClientPromo
{
ClientID = 0,
Recommendation_ID = RecKnow.RecommendationID,
},
new ClientPromo
{
ClientID = 0,
Recommendation_ID = RecCall.RecommendationID,
},
);
context.SaveChanges();
Seit cp.Recommendation_ID
und cp.PromoCode_ID
int? datatypes
sind, wird es den folgenden Fehler:
The binary operator Equal is not defined for the types 'System.Nullable`1[System.Int32]' and 'System.Int32'.
ich diesen Artikel angesehen haben, und fügte hinzu, die modelBuilder
- IsOptional()
Code beschrieben, aber es funktioniert nicht wor k für mich und ich bekomme den gleichen Fehler in this question.
Wenn ich ändern:
cp => new { cp.ClientID, cp.Recommendation_ID, cp.PromoCode_ID }
An:
cp => new { cp.ClientID }
Es funktioniert gut, aber das wird nicht funktionieren, wenn ich einen Datensatz aktualisieren müssen es einfach jeden Datensatz in der Tabelle duplizieren.
haben Sie lösen Ihr Problem? Vielleicht hilft das http://stackoverflow.com/questions/16818382/the-binary-operator-equal-is-not-defined-between-type-nullabeitt32-and-int32 –