本文整理汇总了C#中ObjectRelationalMapper.NaturalId方法的典型用法代码示例。如果您正苦于以下问题:C# ObjectRelationalMapper.NaturalId方法的具体用法?C# ObjectRelationalMapper.NaturalId怎么用?C# ObjectRelationalMapper.NaturalId使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectRelationalMapper
的用法示例。
在下文中一共展示了ObjectRelationalMapper.NaturalId方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMapping
private static HbmMapping GetMapping()
{
var orm = new ObjectRelationalMapper();
var mapper = new Mapper(orm,
new CoolPatternsAppliersHolder(orm));
orm.TablePerClassHierarchy<Product>();
orm.TablePerClass<ActorRole>();
orm.Patterns.PoidStrategies.Add(
new GuidOptimizedPoidPattern());
orm.VersionProperty<Entity>(x => x.Version);
orm.NaturalId<Product>(p => p.Name);
orm.Cascade<Movie, ActorRole>(
Cascade.All | Cascade.DeleteOrphans);
mapper.AddPropertyPattern(mi =>
mi.GetPropertyOrFieldType() == typeof(Decimal) &&
mi.Name.Contains("Price"),
pm => pm.Type(NHibernateUtil.Currency));
mapper.AddPropertyPattern(mi =>
orm.IsRootEntity(mi.DeclaringType) &&
!"Description".Equals(mi.Name),
pm => pm.NotNullable(true));
mapper.Subclass<Movie>(cm =>
cm.List(movie => movie.Actors,
colm => colm.Index(
lim => lim.Column("ActorIndex")), m => { }));
var domainClasses = typeof(Entity).Assembly.GetTypes()
.Where(t => typeof(Entity).IsAssignableFrom(t));
return mapper.CompileMappingFor(domainClasses);
}
示例2: WhenDefineWithNullThenRegisterValid
public void WhenDefineWithNullThenRegisterValid()
{
var orm = new ObjectRelationalMapper();
orm.TablePerClass<MyClass>();
orm.TablePerClass<Related>();
orm.NaturalId<MyClass>(x => x.Name, null, x => x.MyComponent, null);
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Name)).Should().Be.True();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Related)).Should().Be.False();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.MyComponent)).Should().Be.True();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Any)).Should().Be.False();
}
示例3: WhenDefineRootEntityThenRegister
public void WhenDefineRootEntityThenRegister()
{
var orm = new ObjectRelationalMapper();
orm.TablePerClass<MyClass>();
orm.TablePerClass<Related>();
orm.NaturalId<MyClass>(x => x.Name, x => x.Related, x => x.MyComponent, x => x.Any);
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Name)).Should().Be.True();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Related)).Should().Be.True();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.MyComponent)).Should().Be.True();
orm.IsMemberOfNaturalId(ForClass<MyClass>.Property(x => x.Any)).Should().Be.True();
}
示例4: GetORM
private static ObjectRelationalMapper GetORM()
{
var orm = new ObjectRelationalMapper();
orm.TablePerClassHierarchy<Product>();
orm.TablePerClass<ActorRole>();
orm.NaturalId<Product>(p => p.Name);
orm.Cascade<Movie, ActorRole>(
Cascade.All | Cascade.DeleteOrphans);
orm.Patterns.PoidStrategies
.Add(new GuidOptimizedPoidPattern());
orm.Patterns.Versions
.Add(new MyVersionPattern());
return orm;
}
示例5: WhenDefineWithoutRootEntityThenThrow
public void WhenDefineWithoutRootEntityThenThrow()
{
var orm = new ObjectRelationalMapper();
ActionAssert.Throws<ArgumentOutOfRangeException>(() => orm.NaturalId<MyClass>(x=> x.Any));
}
示例6: WhenDefineWithoutPropertiesThenNothingHappen
public void WhenDefineWithoutPropertiesThenNothingHappen()
{
var orm = new ObjectRelationalMapper();
orm.TablePerClass<MyClass>();
ActionAssert.NotThrow(() => orm.NaturalId<MyClass>());
}