Je construis un moteur de base pour mon blog et je voudrais pouvoir l'étendre très facilement. Au moment mon code ressemble à ceci:Linq to sql - Définir inheritancemapping sur la classe dérivée
[Table(Name = "dbo.ContentItem")]
[InheritanceMapping(Code = "MyNameSpace.Items.SysRoot", Type = typeof(SysRoot), IsDefault = true)]
[InheritanceMapping(Code = "MyNameSpace.Items.SysRecycleBin", Type = typeof(SysRecycleBin))]
public partial class ContentItem : ICloneable, INotifyPropertyChanging, INotifyPropertyChanged {
// some code here
}
Le code ci-dessus est dans mon projet de base et je voudrais carte nouvelles pagetypes dans mon projet blog par exemple en ajoutant l'attribut inheritancemapping sur une classe comme celui-ci :
[InheritanceMapping(Code = "MyNamespace.Blog.Items.BlogPostContainer", Type = typeof(BlogPostConntainer))]
public partial class BlogPostContainer : ContentItem {
// some code here
}
Cela ne fonctionne pas, donc je me demande si quelqu'un a une solution à ce problème? Peut-être qu'il est possible d'écrire le mapping dans un fichier xml externe pour que l'héritage entre les projets fonctionne?
J'ai essayé cela mais mon quand j'utilise une cartographie basée sur le xml mon château windsor conteneur cesse de fonctionner. Savez-vous s'il est possible d'utiliser Castle Windsor avec une cartographie basée sur xml? – Marcus
Une autre erreur que j'obtiens lorsque j'utilise le mappage basé sur xml est que l'un de mes membres n'a pas de traduction prise en charge par SQL? Mon mappingfile ressemble à ceci pour ce membre –
Marcus
Je n'ai jamais utilisé castle windsor et linq pour sql ensemble j'ai peur . Personnellement, j'utilise NHibernate et j'ai trouvé cela beaucoup plus facile à utiliser que linq to sql. Si vous pouvez faire l'interrupteur je le ferais. – Castrohenge