Mam następujący problem z identyfikatorami aktualizacji po zaimportowaniu do mojego dB:Kod Błąd przy pierwszym źródle migracji: binarny operator Equal nie jest zdefiniowany dla typów "System.Nullable" 1 [System.Int32] 'i' 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();
Od cp.Recommendation_ID
i cp.PromoCode_ID
są int? datatypes
, robi się następujący błąd:
The binary operator Equal is not defined for the types 'System.Nullable`1[System.Int32]' and 'System.Int32'.
mam oglądali ten artykuł i dodał modelBuilder
- kod IsOptional()
opisany, ale nie wor k dla mnie i pojawia się ten sam błąd w this question.
Jeśli zmienię:
cp => new { cp.ClientID, cp.Recommendation_ID, cp.PromoCode_ID }
Do:
cp => new { cp.ClientID }
To działa dobrze, ale to nie będzie działać, jeśli muszę zaktualizować rekord będzie tylko powielać każdy rekord w tabeli.
pan rozwiązać swój problem? Może to pomoże http://stackoverflow.com/questions/16818382/the-binary-operator-equal-is-not-defined-between-type-nullableint32-and-int32 –