2010-12-19 12 views
5

VS 2010 çözümünde iki projem var: Data ve DataForm. Veri projemde hem ilk önce bir Kod hem de aynı veri modelinin Veritabanı'nın ilk sürümü (ör. DataPoco ve DataDb) var. Bu sınıflar, içlerinde aynı doğru varlık isimlerine sahiptir, vb ... Bu iki sürümün her birinin kendi ad alanı vardır: DataDb Data'da ve DataPoco'da Data.Poco'da. Benim DataForm projedeVarlık Çerçeve Kodu İlk ve Veritabanı İlk Hata/Çakışma

Aşağıdaki kod var: Ben context.Urls (nedeniyle tembel yükleme ve yüklenen) numaralandırılan aşağıdaki hatayı alıyorum

DataPoco context = new DataPoco(); //Data.Poco.DataPoco 
foreach(var u in context.Urls)  //Data.Poco.Url 
{ 
    //do stuff with u. 
} 

:

bulunamadı 'Data.Url' için kavramsal model türü.

Neden DİĞER sürümünde bir varlık hakkında bir hata alıyorum (örneğin ben Data.Poco.Url numaralandırılırken olduğumda Data.Url bir hata aldınız nasıl)? Kodla ilgili bir şey var mı? Bu, başka bir ad alanında Veritabanı ilk varlık sınıflarını almayı aynı projede mi yapıyor? Bu Kod İlk'de bir hata mı, yoksa hatam mı?

cevap

3

Entity Framework ad alanını adın bir parçası olarak kullanmaz - varlık adlarının kendileri benzersiz olmalıdır.

+0

Vay canına! Peki, cevabınızdan sonra neleri arayacağımı daha iyi bir fikre sahip olduğumdan biraz daha fazla aradım ve diğer Q/A - http://stackoverflow.com/questions/3521497/how-does-ms-entity-framework-map -den-kavramsal-model-clr-türleri. Yardım ettiğin için teşekkür ederim! – Chad