本文整理匯總了C#中SolrNet.Mapping.MappingManager.SetUniqueKey方法的典型用法代碼示例。如果您正苦於以下問題:C# MappingManager.SetUniqueKey方法的具體用法?C# MappingManager.SetUniqueKey怎麽用?C# MappingManager.SetUniqueKey使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SolrNet.Mapping.MappingManager
的用法示例。
在下文中一共展示了MappingManager.SetUniqueKey方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: UniqueKey_Set_and_get
public void UniqueKey_Set_and_get() {
var mgr = new MappingManager();
var property = typeof (Entity).GetProperty("Id");
mgr.Add(property, "id");
mgr.SetUniqueKey(property);
var key = mgr.GetUniqueKey(typeof (Entity));
Assert.AreEqual(property, key.Property);
Assert.AreEqual("id", key.FieldName);
}
示例2: SchemaNull_MappingNotNull_generates_error
public void SchemaNull_MappingNotNull_generates_error() {
var rule = new UniqueKeyMatchesMappingRule();
var mapper = new MappingManager();
var idProperty = typeof (SchemaMappingTestDocument).GetProperty("ID");
mapper.Add(idProperty);
mapper.SetUniqueKey(idProperty);
var validations = rule.Validate(typeof (SchemaMappingTestDocument), new SolrSchema(), mapper).ToList();
Assert.IsNotNull(validations);
Assert.AreEqual(1, validations.Count);
foreach (var v in validations)
Console.WriteLine("{0}: {1}", v.GetType(), v.Message);
Assert.IsInstanceOfType<ValidationError>(validations[0]);
}
示例3: MatchingUniqueKeyMappingShouldNotReturnError
public void MatchingUniqueKeyMappingShouldNotReturnError() {
var mgr = new MappingManager();
mgr.Add(typeof (SchemaMappingTestDocument).GetProperty("ID"), "id");
mgr.SetUniqueKey(typeof (SchemaMappingTestDocument).GetProperty("ID"));
var schemaManager = new MappingValidator(mgr, new[] {new UniqueKeyMatchesMappingRule()});
var schemaXmlDocument = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.solrSchemaBasic.xml");
var solrSchemaParser = new SolrSchemaParser();
var schema = solrSchemaParser.Parse(schemaXmlDocument);
var validationResults = schemaManager.EnumerateValidationResults(typeof (SchemaMappingTestDocument), schema).ToList();
Assert.AreEqual(0, validationResults.Count);
}
示例4: RequiredSolrFieldForWhichNoCopyFieldExistsShouldReturnError
public void RequiredSolrFieldForWhichNoCopyFieldExistsShouldReturnError() {
var mgr = new MappingManager();
mgr.Add(typeof (SchemaMappingTestDocument).GetProperty("ID"), "id");
mgr.SetUniqueKey(typeof (SchemaMappingTestDocument).GetProperty("ID"));
var schemaManager = new MappingValidator(mgr, new[] {new RequiredFieldsAreMappedRule()});
var schemaXmlDocument = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.solrSchemaBasic.xml");
var solrSchemaParser = new SolrSchemaParser();
var schema = solrSchemaParser.Parse(schemaXmlDocument);
var validationResults = schemaManager.EnumerateValidationResults(typeof (SchemaMappingTestDocument), schema).ToList();
Assert.AreEqual(1, validationResults.Count);
}
示例5: MappedPropertyForWhichDynamicFieldExistsInSchemaShouldNotReturnError
public void MappedPropertyForWhichDynamicFieldExistsInSchemaShouldNotReturnError() {
var mgr = new MappingManager();
mgr.Add(typeof (SchemaMappingTestDocument).GetProperty("ID"), "id");
mgr.SetUniqueKey(typeof (SchemaMappingTestDocument).GetProperty("ID"));
mgr.Add(typeof (SchemaMappingTestDocument).GetProperty("Name"), "name");
mgr.Add(typeof (SchemaMappingTestDocument).GetProperty("Producer"), "producer_s");
var schemaManager = new MappingValidator(mgr, new[] {new MappedPropertiesIsInSolrSchemaRule()});
var schemaXmlDocument = EmbeddedResource.GetEmbeddedXml(GetType(), "Resources.solrSchemaBasic.xml");
var solrSchemaParser = new SolrSchemaParser();
var schema = solrSchemaParser.Parse(schemaXmlDocument);
var validationResults = schemaManager.EnumerateValidationResults(typeof (SchemaMappingTestDocument), schema).ToList();
Assert.AreEqual(0, validationResults.Count);
}
示例6: MakeMapper
private static MappingManager MakeMapper(Type t)
{
// See https://github.com/mausch/SolrNet/blob/master/Documentation/Overriding-mapper.md
var mapper = new MappingManager();
foreach (var prop in t.GetProperties())
{
foreach (Attribute attribute in prop.GetCustomAttributes(true))
{
if (attribute is FieldAttribute)
{
var fa = attribute as FieldAttribute;
string fieldName = string.IsNullOrWhiteSpace(fa.FieldName) ? prop.Name : fa.FieldName;
mapper.Add(prop, fieldName, fa.Boost);
}
else if (attribute is SolrFieldAttribute)
{
var fa = attribute as SolrFieldAttribute;
string fieldName = string.IsNullOrWhiteSpace(fa.FieldName) ? prop.Name : fa.FieldName;
mapper.Add(prop, fieldName, fa.Boost);
}
if (attribute is UniqueKeyAttribute)
{
var uka = attribute as UniqueKeyAttribute;
mapper.SetUniqueKey(prop);
}
if (attribute is SolrUniqueKeyAttribute)
{
var uka = attribute as SolrUniqueKeyAttribute;
mapper.SetUniqueKey(prop);
}
}
}
return mapper;
}
示例7: SetUniqueKey_without_mapping_throws
public void SetUniqueKey_without_mapping_throws()
{
var mgr = new MappingManager();
var property = typeof (Entity).GetProperty("Id");
mgr.SetUniqueKey(property);
}
示例8: SetUniqueKey_doesnt_admit_null
public void SetUniqueKey_doesnt_admit_null()
{
var mgr = new MappingManager();
mgr.SetUniqueKey(null);
}