Einstellung MaxLength für alle strings in Entity Framework code first
Entwickle ich ein code-first-Datenbank mit Entity Framework 6.
Ich weiß, ich kann [MaxLength(myLen)]
auf die Eigenschaft eines Modells.
Was ich fragte mich, ob das möglich ist, in einem filter oder ein benutzerdefiniertes Attribut, so dass alle Saiten nehmen, auf einem Standard, von sagen wir 250, wenn nicht anders angegeben, direkt auf dem Grundstück.
Falls nicht, gibt es eine Möglichkeit zum ändern der Standardeinstellung der nvarchar(max)
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie dies tun, die gewährleistet, dass alle strings die maximale Länge von der Datenbank unterstützte Anbieter:
Diese Methode hinzuzufügen (oder die vorhandene ändern) in Ihrem
DbContext
Klasse.MaxLength
auf einem Grundstück, das setzt dann diemodelBuilder
- perfekt. (akzeptieren beantworten, wenn es mir erlaubt..)Entity Framework eingeführt Benutzerdefinierten Code First-Konventionen für das in 6.1
Konventionen arbeiten in einer letzten Weise gewinnt und die Fluent-API und Daten-Anmerkungen können verwendet werden, zu überschreiben, zu einer Konvention in bestimmten Fällen
In EF6 können Sie einen benutzerdefinierten code first-Konvention, sondern Sie müssen auch eine Möglichkeit haben, anzugeben, nvarchar(max) - Datentyp in einen string-Eigenschaft. So kam ich mit der folgenden Lösung.
Siehe auch:
https://msdn.microsoft.com/en-us/data/jj819164#order
In diesem code ModelBuilder-Klasse definiert die Form Ihrer Entitäten, die Beziehungen zwischen Ihnen, und wie Sie anzeigen in die Datenbank.