उत्सुक - यह आईआईआरसी काम करना चाहिए; मैं देखूंगा कि क्या मैं एक त्वरित उदाहरण कर सकता हूं - हालांकि, आप यह जांचना चाहेंगे कि आपके पास पूर्णतः योग्यता प्राप्त नाम है (यानी नामस्थान सहित)।
[अद्यतन] here से ऐसा लगता है कि एनटीएम को हल करते समय आरटीएम संस्करण एक बग के साथ भेज दिया गया। एक वर्कअराउंड सुझाया गया (उस पृष्ठ पर) global::
उपसर्ग जोड़ना था। यह इस कामकाज के बिना मेरे लिए ठीक काम करता है, तो शायद यह 3.5 एसपी 1 में तय किया गया है? यदि आप समान नामस्थान में हैं तो यह अयोग्य नाम 3.5 का उपयोग करता है यदि आप अयोग्य नाम का उपयोग करते हैं।
[उदाहरण] हाँ, ठीक काम किया: नॉर्थविंड के साथ, मैं शिपिंग देश के लिए एक enum परिभाषित:
namespace Foo.Bar
{
public enum MyEnum
{
France,
Belgium,
Brazil,
Switzerland
}
}
मैं तो dbml संपादित करने के लिए:
<Column Name="ShipCountry" Type="Foo.Bar.MyEnum" DbType="NVarChar(15)" CanBeNull="true" />
यह उत्पन्न:
private Foo.Bar.MyEnum _ShipCountry;
//...
[Column(Storage="_ShipCountry", DbType="NVarChar(15)", CanBeNull=true)]
public Foo.Bar.MyEnum ShipCountry
{ get {...} set {...} }
और अंत में एक प्रश्न लिखा:
using (DataClasses1DataContext ctx = new DataClasses1DataContext())
{
var qry = from order in ctx.Orders
where order.ShipCountry == Foo.Bar.MyEnum.Brazil
|| order.ShipCountry == Foo.Bar.MyEnum.Belgium
select order;
foreach (var order in qry.Take(10))
{
Console.WriteLine("{0}, {1}", order.OrderID, order.ShipCountry);
}
}
ठीक काम किया; परिणाम:
10250, Brazil
10252, Belgium
10253, Brazil
10256, Brazil
10261, Brazil
10287, Brazil
10290, Brazil
10291, Brazil
10292, Brazil
10299, Brazil
यह काम करता है जब मुझे 3.5 एसपी 1 – Barry
मिला, मुझे 3.5 एसपी 1 के साथ "ग्लोबल ::" प्रीपेड करना पड़ा। शायद इसकी वजह से मैंने डेटाकॉन्टेक्स्ट (प्रोजेक्ट.डाल) और संस्थाओं (Project.Dal.Entities) के लिए डिफ़ॉल्ट नामस्थान बदल दिया है? किसी भी वीबी के लिए – jrummell