2010-09-06 24 views
9

varsayalım i var şu 2 SQL tabloları:Arama tablosu nasıl sıralanır?

Şimdi
Column  DataType 
-------------------------- 
FooTypeId  TINYINT 
Name   NVARCHAR(10) 

Foo

Column  DataType 
--------------------------- 
Title   NVARCHAR(20) 
Body   NVARCHAR(MAX) 
FooTypeId  TINYINT 

FooType, im bir özel veri bağlamında ve Poco uygulaması ile Varlık Framework 4.0 kullanarak .

Bunu tasarımcıya ve POCO'larıma nasıl eşlerim?

"FooTypeId" adlı bir POCO özelliği oluşturmam gerekiyor (tip bayt olarak), sonra enum türümün ANOTHER özelliğini gösteriyorum?

Ie. i denemek ve "ekspres" olabilir düşündüm olarak

public class Foo 
{ 
    public byte FooTypeId { get; set; } // for ORM - do i need this?? 
    public FooType FooType // for most querying operations 
    { 
     get 
     { 
      return (FooType)this.FooTypeId; 
     } 
     set 
     { 
      this.FooTypeId = (int)value; 
     } 
    } 
} 

public enum FooType 
{ 
    Blah = 1, 
    Foo = 2, 
    Bar = 3 
} 

anda ben bile, benim tasarımcısı üzerinde FooType tablo yok Foo mülkiyet gerçek FooTypeId gelen numaralandırma olarak bu. Yoksa haritacıda bir "Gezinme Özelliği" oluşturmalıyım, sonra bunu POCO'mda tanımlamalı mıyım?

Birkaç yıl öncesinden (EF1) "Enümler EF'de desteklenmiyor" diyen konuları okudum, bu hala EF4'le ilgili mi? Eğer öyleyse, doğru olan nedir?

Burada bir tür kaybolan var, bazı rehberlik çok takdir edilecektir!

+0

Bunu yapmak için T4 kullanmıştım. http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx –

cevap

7

Şu anda EF4, enumları yerel olarak desteklememektedir.

oldukça iyi çalışıyor AlexJ tarafından büyük bir geçici çözüm gördüğüm

Ben de bu yerli enum destek EF4'ü sonraki sürümünde geldiğini duydum http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake-enums-in-ef-4.aspx

, (oldukça kod ağır olsa var), ama Tam olarak ne zaman olacağını açıklar.

+0

Vay, bu oldukça kod ağır, ama yine de bir çözüm. Teşekkürler. – RPM1984

+0

.NET 4.5'te, bkz. [Data.uservoice] (http://data.uservoice.com/forums/72025-ado-net-entity-framework-ef-feature-suggestions/suggestions/1015335-support-for -enums) – abatishchev