2012-04-19 12 views
96

में एक जटिल कुंजी के साथ AddOrUpdate के साथ बीज डेटा कैसे करें मैं कुछ परीक्षण डेटा के साथ एक विकास डेटाबेस बीज करने की कोशिश कर रहा हूं।ईएफ 4.3

मैंने context.People.AddOrUpdate(p => p.Id, people)); का उपयोग बहुत सफलता के साथ किया है।

मेरे पास एक और टेबल है जिसे मुझे बीज की आवश्यकता है, जिसमें मुझे प्राथमिक कुंजी नहीं पता।

उदाहरण के लिए, मैं पहले और अंतिम नाम मिलान के आधार पर AddOrUpdate जोड़ना चाहता हूं।

मुझे यकीन है कि अभिव्यक्ति को सही ढंग से कैसे लिखना है।

context.People.AddOrUpdate(p => p.FirstName && p.LastName, people); 

स्पष्ट रूप से गलत है, लेकिन मुझे आशा है कि यह उस समाधान को बताएगा जिसे मैं ढूंढ रहा हूं। (हो सकता है केवल गेटर के साथ) इकाई के लिए सीधे विदेशी कुंजी संपत्ति जोड़ने पर विचार करें और के रूप में Ladislav Mrnka प्रस्तावित इसका इस्तेमाल -

context.People.AddOrUpdate(p => new { p.FirstName, p.LastName }, people); 

उत्तर

189

इस प्रयास करें।

+10

@LadislavMrnka क्या पहचानकर्ता जटिल प्रकार अर्थात 'context.People.AddOrUpdate (पी => नई {p.Name.FirstName, p.Name.LastName}, लोगों)' होने की जरूरत है तो क्या होगा? – gabe

+3

@ लादिस्लावव्रंका, भी, अगर संपत्ति एक शून्य प्रकार है तो क्या होगा? यानी 'संदर्भ। लोग। AddOrUpdate (पी => नया {पी। बिर्थडेट}, लोग) '? – stack247

+2

यहां ध्यान देने योग्य कुछ यह है कि 'लोगों' संग्रह को एक ARRAY होना चाहिए, न कि सूची। यदि आपके पास इकाइयों की एक सूची है, तो आप सूची में .ToArray() को बस कॉल कर सकते हैं। मैं उस के साथ संघर्ष किया :) - अच्छा जवाब –

0

आप क्योंकि नेविगेशन संपत्ति का उपयोग करने का Only primitive types or enumeration types are supported in this context. मिला है:

संबंधित मुद्दे