public
override
IList<MappingConfiguration> GetMapping()
{
var mappings =
new
List<MappingConfiguration>();
MapItem(mappings);
MapUrlData(mappings);
return
mappings;
}
private
void
MapItem(IList<MappingConfiguration> mappings)
{
var itemMapping =
new
MappingConfiguration<ProductItem>();
itemMapping.HasProperty(p => p.Id).IsIdentity();
itemMapping.MapType(p =>
new
{ }).ToTable(
"custom_products"
);
itemMapping.HasProperty(p => p.Price);
itemMapping.HasProperty(p => p.QuantityInStock);
itemMapping.HasAssociation<Telerik.Sitefinity.Security.Model.Permission>(p => p.Permissions);
itemMapping.HasProperty(p => p.InheritsPermissions);
itemMapping.HasProperty(p => p.CanInheritPermissions);
itemMapping.HasAssociation(p => p.Urls).WithOppositeMember(
"parent"
,
"Parent"
).ToColumn(
"content_id"
).IsDependent().IsManaged();
//map language data & published translations
CommonFluentMapping.MapILifecycleDataItemFields<ProductItem>(itemMapping,
this
.Context);
mappings.Add(itemMapping);
}
private
void
MapUrlData(IList<MappingConfiguration> mappings)
{
var urlDataMapping =
new
MappingConfiguration<ProductItemUrlData>();
urlDataMapping.MapType(p =>
new
{ }).Inheritance(InheritanceStrategy.Flat).ToTable(
"sf_url_data"
);
mappings.Add(urlDataMapping);
}