पर मैं स्ट्रिंग एपीआई का उपयोग कर एक ईएफ 6 कोड पहला मॉडल बना रहा हूं। मेरी समझ डिफ़ॉल्ट रूप से है, स्ट्रिंग्स nvarchar (अधिकतम) होगी, जो (धुंधला होना) डिफ़ॉल्ट के लिए गूंगा है। तो मैं 255 वर्ण अधिकतम डिफ़ॉल्ट लंबाई सेट करने के लिए इन नियमों का पालन कोड कहा:ईएफ 6 कोड सेट करें पहले स्ट्रिंग्स nvarchar (अधिकतम)
modelBuilder.Properties<string>()
.Configure(p => p.HasMaxLength(255));
तो मैं तो जैसे एक डेकोरेटर बनाया:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
public class TextAttribute : Attribute
{
}
मैं विशिष्ट स्ट्रिंग गुण को यह लागू करना चाहते हैं कि मैं वास्तव में NVARCHAR (MAX) बनना चाहते हैं।
यह सुनिश्चित करने के लिए कि मैं [text] सजावट वाले सभी स्ट्रिंग गुणों को डीवी में एनवीएआरएआरएआर (MAX) के साथ बनाया गया है, सुनिश्चित करने के लिए धाराप्रवाह एपीआई में क्या रखा जाए? मुझे लगता है कि यह ऐसा कुछ होगा:
modelBuilder.Properties<string>()
.Where(p => p.CustomAttributes.Any(a => typeof(TextAttribute).IsAssignableFrom(a.AttributeType)))
.Configure(p => p.HasMaxLength(?????));
या क्या मैं यह पूरी तरह गलत कर रहा हूं?