'da SQL Server Compact ile başlatılamadı Visual Studion 2013 Express for Web'de ASP.Net MVC şablonunu kullanarak basit bir proje oluşturdum. Herhangi bir kimlik doğrulama kullanmaz. Sonra EntityFramework
(v6.0.1), EntityFramework.SqlServerCompact
paketlerini kurdum. Gerçek bağlam nesnesi Çalışma sınıfının Birimi oluşturulurDbContext, ASP.Net MVC
public class EditTestContext : DbContext
{
public EditTestContext() : base("EditTestContext")
{
}
public EditTestContext(string connectionString) : base(connectionString)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
Database.SetInitializer(
new DropCreateDatabaseIfModelChanges<EditTestContext>());
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Configurations.Add(new EditTestConfig());
}
}
:
Benim DBContext sınıf çok basit bağlantı dizesi kullanılan
public class EditTestUoW:IEditTestUoW,IDisposable
{
private DbContext dbContext;
public EditTestUoW()
{
CreateDbContext();
}
private void CreateDbContext()
{
dbContext = new EditTestContext();//NEW DBCONTEXT OBJECT IS CREATED
dbContext.Configuration.LazyLoadingEnabled = false;
dbContext.Configuration.ProxyCreationEnabled = false;
dbContext.Configuration.ValidateOnSaveEnabled = false;
}
public IRepository<EditTestModel> EditTestRepo
{
get
{
return new EFRepository<EditTestModel>(dbContext);
}
}
}
geçerli:
<add name="EditTestContext" connectionString="Data Source=
|DataDirectory|EditTestDb.sdf;Max Database Size=256;
Max Buffer Size=1024;File Mode=Shared Read;
Persist Security Info=False;" providerName="System.Data.SqlServerCe.4.0" />
Bu bağlamı kullanarak herhangi bir şeye erişmeyi denediğimde:
var rep=UoW.EditTestRepo;
var list=rep.GetAll().ToList();
Ben rep.GetAll()
fonksiyonu üzerine aşağıdaki özel alıyorum:
iletisi: Sıra Veri Havuzu sınıftan IQueryable
, derin kazma üzerinde eşleşen elemanı
içerir (DbSet<EditTest>
) şu istisna atıyor:
The context cannot be used while the model is being created. This exception may
be thrown if the context is used inside the OnModelCreating method or if the same
context instance is accessed by multiple threads concurrently. Note that instance
members of DbContext and related classes are not guaranteed to be thread safe.
neden olabileceğini düşündüm 10, ama çıkardıktan sonra hala var.
Burada yanlış olan ya da bir şey (bazı montaj başvuruları vb.) Eksik mi?
Bunun için deliriyordum! – wilver
SQL CE ile "Property (d => d.BTCValue) .HasPrecision (24, 8)" yöntemini çağırdığımda aynı özel durum vardı. Sebebini yaptığınız için teşekkürler! – Andras
tarih, smalldate ve metin de iyi uymuyor gibi görünüyor –