मुझे इस खंड का उपयोग करने के लिए ईएफ को बताने का कोई तरीका नहीं मिला, लेकिन यहां कुछ कामकाज है। जांचें कि यह आपके मामले में फिट है या नहीं।
- स्थापित इकाई की रूपरेखा, अपने DbContext, संस्थाओं, कोन app.config आदि में स्ट्रिंग को परिभाषित करें
- प्रवासन सक्षम करें - पैकेज प्रबंधक कंसोल में चलाने - पैकेज प्रबंधक कंसोल '-EnableMigration'
- DbMigration बनाएं में चला 'एड-माइग्रेशन माइग्रेशननाम'
- ओवरेड
Up
विधि में बनाए गए डीबी माइग्रेशन क्लास में अद्वितीय nullable अनुक्रमणिका बनाने के लिए अपना एसक्यूएल चलाएं।
कोड:
// Add unique nullable index
string indexName = "IX_UQ_UniqueColumn";
string tableName = "dbo.ExampleClasses";
string columnName = "UniqueColumn";
Sql(string.Format(@"
CREATE UNIQUE NONCLUSTERED INDEX {0}
ON {1}({2})
WHERE {2} IS NOT NULL;",
indexName, tableName, columnName));
नोट: एक ढाल, भी बनाने के लिए मत भूलना। Ovveride Down
विधि और DropIndex
विधि के अंदर का उपयोग करें: अगर वहाँ पहले से ही अपने डेटाबेस में डेटा जो अद्वितीय सूचकांक बाधा के साथ संघर्ष कर सकते हैं
DropIndex(tableName, indexName);
इसके अलावा, आप कुछ अतिरिक्त कोड पड़ सकता है।
नोट: यहां आप CreateIndex विधि का उपयोग कर सकते हैं लेकिन मैं इसके साथ सही अनुक्रमणिका बनाने का प्रबंधन नहीं कर सका। ईएफ बस मेरे अज्ञात त्रुटियों को अनदेखा करें या मैं उन्हें गलत लिखता हूं। आप इसे स्वयं आज़मा सकते हैं और अपने परिणाम के साथ यहां लिख सकते हैं। वाक्य रचना इस प्रकार है: और अन्य समान मान अनन्य स्तंभ के लिए शून्य मान के साथ दो etries जोड़ने के लिए
CreateIndex(
table: "dbo.ExampleClasses",
columns: new string[] { "UniqueColumn" },
unique: true,
name: "IX_UniqueColumn",
clustered: false,
anonymousArguments: new
{
Include = new string[] { "UniqueColumn" },
Where = "UniqueColumn IS NOT NULL"
});
5 का प्रयास करें।
यहां मेरा डेमो कोड है - Pastebin
स्रोत
2014-06-23 12:18:49
धन्यवाद विक्टर! यह मेरे लिए पूरी तरह से काम करता है। दूसरी ओर "अनाम शब्द" प्रदाता निर्भर हैं, और SQL सर्वर बस इसे अनदेखा करता है। – Subgurim
बनाएँ इंडेक्स समाधान काम नहीं करता है, मैं इसे पसंद करता हूं क्योंकि आप इसे शुरुआत में उलझन में डाल देते हैं। धन्यवाद विक्टर – kartal
वास्तव में बहुत बुरा है कि अज्ञात आर्ट्यूमेंट दृष्टिकोण काम नहीं किया। ऐसा लगता है कि इसके आसपास दस्तावेज की कमी भी है। क्या मूल्य समर्थित हैं आदि – Dashu