2009-05-27 3 views
1

Mit SubSonic 2.2 nach DAL Generation mit sonic.exe sieht die AllStruct.cs Inhalt sieht falsch:SubSonic - AllStruct.cs falsch

// <auto-generated /> 
namespace ...DAL 
{ 
    #region Tables Struct 
    public partial struct Tables 
    { ... } 

    #endregion 

    #region Schemas 
    public partial class Schemas 
    { ... } 
    #endregion 

    #region View Struct 
    public partial struct Views 
    { ... } 
    #endregion 

    #region Query Factories 
    public static partial class DB 
    { ... } 
    #endregion 

} 
#region Databases 
public partial struct Databases 
{ ... } 
#endregion 

Gibt es einen Grund, die Datenbanken Region für die Platzierung außerhalb des Namensraums? Wenn nicht, wie kann ich das korrigieren (ich habe keine Vorlagen für den generierten Code gefunden)?

Antwort

2

SubSonic-Datenbanken sind analog zu Providern. Jeder Provider generiert seinen eigenen Namespace, daher passt es, dass die Database-Struktur außerhalb eines generierten Namespace liegt. Wenn Sie mehrere Provider konfigurieren, verfügt Ihre AllStructs.cs-Datei über mehrere Namespaces, von denen jeder über eigene Strukturen verfügt, wie Sie sie veröffentlicht haben.

Die Vorlage Generation Datei here

+0

Es macht Sinn jetzt gefunden werden können, danke. Wie kann ich sonic.exe mit mehreren Anbietern verwenden? Muss ich für jeden Anbieter separate Ordner verwenden? – alexandrul

+0

Ich würde das als eine neue Frage fragen - Sie werden einige tolle Antworten bekommen, da bin ich mir sicher. Aber ja, jeder Anbieter landet in seinem eigenen Ordner. –

+0

Sehr klar auf die Design-Aussage. Aber es kann schwierig sein, damit zu arbeiten. Ich sehe einen Provider als Schema + Verbindung. Erstellen Sie eine Gruppe von Schemaklassen, die von beliebig vielen Verbindungen gemeinsam genutzt werden. Es ist schwer Subsonic zu machen. –