2011-06-08 11 views
8

मैं एक एफई कोड पहले साइट पर काम कर रहा हूँ, और मैं अपने वर्गों में लिखा है और एक संदर्भ वर्ग, स्रोत है जो की है:एफई कोड पहले नहीं उत्पन्न टेबल्स

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Data.Entity; 
using MySite.SalesTool.Data.Entities; 
using System.Data.Entity.ModelConfiguration.Conventions; 


namespace MySite.SalesTool.Data 
{ 
    public class SalesToolEntities : DbContext 
    { 
     public DbSet<User> Users { get; set; } 
     public DbSet<UserRole> UserRoles { get; set; } 
     public DbSet<Job> Jobs { get; set; } 
     public DbSet<JobAssigner> JobAssigners { get; set; } 
     public DbSet<JobFile> JobFiles { get; set; } 
     public DbSet<JobStatus> JobStatuses { get; set; } 
     public DbSet<AssignedUser> AssignedUsers { get; set; } 
    } 
} 

परियोजना ठीक बनाता है, लेकिन जब मैं साइट को चलाने के लिए जाता हूं, डेटाबेस में कोई टेबल नहीं बनाया जाता है और मुझे यह बताते हुए एक त्रुटि मिलती है कि डेटाबेस जो भी संदर्भ ऑब्जेक्ट मैं कोशिश करता हूं और एक्सेस नहीं कर सकता, संभवतया क्योंकि कोड ने पहले आवश्यक तालिकाओं को नहीं बनाया है ।

कोई विचार क्यों यह किसी भी तालिका को उत्पन्न नहीं करेगा, और मुझे किसी प्रकार की त्रुटि जानकारी नहीं देगी?

+0

वेब में। कॉन्फ़िगरेशन आपको अपनी कॉन्टेक्स्ट क्लास –

+0

की तरह अपनी कनेक्शन स्ट्रिंग का नाम देना चाहिए, आप डेटाबेस कैसे उत्पन्न करते हैं? ईएफ अकेले टेबल नहीं बनाता है - ईएफ को हमेशा पूरा डेटाबेस बनाना होता है। –

+0

वह वास्तव में निर्भर करता है। यदि यह SQLCe है तो यह इसे अपने –

उत्तर

7

क्या आपके पास प्रारंभिक रणनीति है?

Database.SetInitializer(new DropCreateDatabaseIfModelChanges<SalesToolEntities>()); 

जो आप सदस्यता लेते हैं उससे लगता है कि आपने डेटाबेस स्वयं बनाया है। फिर आपको प्रारंभिकरण रणनीति निर्दिष्ट करने की आवश्यकता है अन्यथा डेटाबेस में कोई टेबल/डेटा जोड़ा नहीं जाएगा और डेटाबेस से पूछताछ के परिणामस्वरूप अपवाद होगा: {"निर्दिष्ट तालिका मौजूद नहीं है। [कुछ समय]"}

+0

पर स्पॉट! यह समस्या हल हो गई है। धन्यवाद। – Tim

+0

क्या इस लाइन को global.asax फ़ाइल या प्रारंभकर्ता फ़ाइल में शामिल किया जाना है जो परीक्षण डेटा के साथ नई तालिका बनाने की कोशिश कर रहा है? मैं ईएफ 6 का उपयोग कर रहा हूं और इसमें कुछ टेस्ट डेटा के साथ कुछ टेबल बनाने की कोशिश कर रहा हूं, डेटाबेस बनाया जा रहा है लेकिन इनमें से कोई भी टेबल नहीं है। – KBriz

+0

global.asax में। और आपको इसमें एक प्रश्न के साथ उत्तर सबमिट करने के बजाय एक नया प्रश्न सबमिट करना चाहिए: आपको इस तरह से त्वरित रास्ते मिलेंगे। –

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