2010-07-09 4 views
2

J'utilise C# depuis l'année dernière et j'apprécie la puissance que vous obtenez avec Fluent NHibernate. Une question que je reçois de mes amis est "bien mais comment les programmeurs de vb.net peuvent-ils l'utiliser?" Ainsi, par exemple, la classe de mappage C# ci-dessous est la suivante. Comment quelqu'un ferait-il cela avec vb.net?Quelles sont les options disponibles pour un développeur vb.net lors de l'utilisation de Fluent NHibernate?

public class PostMap : ClassMap<post> 
{ 
public PostMap() 
{ 
Table("Posts"); 
Id(x => x.ID); 
Map(x => x.PublishDate, "PublishDate"); 
Map(x => x.Title, "Title"); 
Map(x => x.uri, "uri"); 
Map(x => x.Content, "Content"); 

HasMany(x => x.CommentCollection).KeyColumn("PostID"); 
HasManyToMany(x => x.TagCollection).Table("TagMap").ParentKeyColumn("PostID").ChildKeyColumn("TagID"); 
} 
} 

Ma faute - ce qui précède ne traduit

Qu'en est-il d'essayer de créer l'interface fluide pour config si?

private static ISessionFactory CreateSessionFactory() 
{ 
var cfg = Fluently.Configure() 
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(c => c.FromConnectionStringWithKey("Blog"))) 
.Mappings(m => m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) 
.ExposeConfiguration(x => x.SetProperty("current_session_context_class", "web")); 

return cfg.BuildSessionFactory(); 
} 

Répondre

6

Si vos amis sont que vous paresseux peut les suggérer en utilisant an online converter:

Public Class PostMap Inherits ClassMap(Of post) 
    Public Sub New() 
     Table("Posts") 
     Id(Function(x) x.ID) 
     Map(Function(x) x.PublishDate, "PublishDate") 
     Map(Function(x) x.Title, "Title") 
     Map(Function(x) x.uri, "uri") 
     Map(Function(x) x.Content, "Content") 

     HasMany(Function(x) x.CommentCollection).KeyColumn("PostID") 
     HasManyToMany(Function(x) x.TagCollection).Table("TagMap").ParentKeyColumn("PostID").ChildKeyColumn("TagID") 
    End Sub 
End Class 

Private Shared Function CreateSessionFactory() As ISessionFactory 
    Dim cfg = Fluently.Configure() _ 
     .Database(MsSqlConfiguration.MsSql2005.ConnectionString(Function(c) c.FromConnectionStringWithKey("Blog"))) _ 
     .Mappings(Function(m) m.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) _ 
     .ExposeConfiguration(Function(x) x.SetProperty("current_session_context_class", "web")) 

    Return cfg.BuildSessionFactory() 
End Function 
Questions connexes