2012-03-06 17 views
6

मैं एंटिटी फ्रेमवर्क आधारित ऐप विकसित कर रहा हूं। मैं मॉडल-प्रथम दृष्टिकोण का उपयोग कर रहा हूं। मैं समवर्ती मुद्दों को संभालना चाहता हूं। जैसा कि कई लेखों में लिखा गया है, मैं कंसुरेंसीमोड को उस क्षेत्र पर तय करने के लिए कर रहा हूं जो एक टाइमस्टैम्प है। फिलहाल मुझे समस्या का सामना करना पड़ रहा है - मैं टाइमस्टैम्प प्रकार के फ़ील्ड (कॉलम) को नहीं जोड़ सकता। मॉडल में मैं इसे कैसे कर सकता हूं?इकाई फ्रेमवर्क मॉडल पहला टाइमस्टैम्प

यहाँ लिखा है:

http://social.msdn.microsoft.com/Forums/is/adodotnetentityframework/thread/1ed8d1e4-9d78-4593-9b10-33e033837af8 \

मैं इकाई डिजाइनर डाटाबेस पीढ़ी पावर पैक installiing कोशिश की, लेकिन फिर भी मैं टाइमस्टैम्प मॉडल से उत्पन्न (मैं भी इसे मैन्युअल रूप से स्थापित करने की कोशिश की है के लिए कोई संभावना नहीं देख edmx फ़ाइल में, लेकिन फिर भी मुझे जेनरेट डेटाबेस में टाइमस्टैम्प फ़ॉलम नहीं मिल रहा है)।

कृपया मदद करें।

उत्तर

2

मुझे लगता है कि डेटाबेस प्रकार टाइमस्टैम्प मानचित्र ईएफ में एक बाइनरी संपत्ति प्रकार के लिए।

मेरा मॉडल का टाइमस्टैम्प कॉलम लंबाई 8 के साथ बाइनरी प्रकार है, निश्चित लंबाई सत्य, StoreGenratedPattern की गणना की जाती है।

संपादित करें: असल में संभव नहीं t4 टेम्पलेट बदलते यहां बताए बिना: Entity Framework timestamp Generate Database issue

0

एफई 6.1, मैं इस है:

public partial class DepartmentEFEntity 
{ 

    Guid DepartmentUUID { get; set; } 

    public byte[] TheVersionProperty { get; set; } 
} 

और उसके बाद:

 modelBuilder.Entity<DepartmentEFEntity>().Property(o => o.TheVersionProperty).HasColumnType("timestamp").HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed).IsRowVersion(); 

जब मैं स्क्रिप्ट तालिका के बाहर, मुझे यह मिलता है:

CREATE TABLE [dbo].[Department](
    [DepartmentUUID] [uniqueidentifier] NOT NULL, 
    [TheVersionProperty] [timestamp] NOT NULL 
    )