Getting some strange exception.
If i remove the Index attribute everything is working fine.
I guess it is because of null in keyFields but if i'm passing "" (empty string) i'm getting "Column Name can't be empty" exception
Code:
[Serializable]
[HierarchyRoot]
[Index("Code",null,Unique=true)]
public class FilterDefinition : BaseEntity<int>
{
[Field(Nullable=false)]
public string Code { get; set; }
...
code from wcf sample (ClientDomain class)
Instance = Domain.Build(domainConfiguration);
...
Call stack:
at Xtensive.Orm.IndexAttribute..ctor(String keyField, String[] keyFields) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Attributes\IndexAttribute.cs:line 82
at System.Reflection.CustomAttribute._CreateCaObject(RuntimeModule pModule, IRuntimeMethodInfo pCtor, Byte** ppBlob, Byte* pEndBlob, Int32* pcNamedArgs)
at System.Reflection.CustomAttribute.CreateCaObject(RuntimeModule module, IRuntimeMethodInfo ctor, IntPtr& blob, IntPtr blobEnd, Int32& namedArgs)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeModule decoratedModule, Int32 decoratedMetadataToken, Int32 pcaCount, RuntimeType attributeFilterType, Boolean mustBeInheritable, IList derivedAttributes, Boolean isDecoratedTargetSecurityTransparent)
at System.Reflection.CustomAttribute.GetCustomAttributes(RuntimeType type, RuntimeType caType, Boolean inherit)
at Xtensive.Reflection.AttributeHelper.GetAttributes[TAttribute](MemberInfo member) in c:\Temp\DataObjects.Net\Xtensive.Core\Xtensive.Core\Reflection\AttributeHelper.cs:line 50
at Xtensive.Reflection.AttributeHelper.GetAttributes[TAttribute](MemberInfo member, AttributeSearchOptions options) in c:\Temp\DataObjects.Net\Xtensive.Core\Xtensive.Core\Reflection\AttributeHelper.cs:line 64
at Xtensive.Orm.Building.Builders.ModelDefBuilder.ProcessIndexes(TypeDef typeDef) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\ModelDefBuilder.cs:line 174
at Xtensive.Orm.Building.Builders.ModelDefBuilder.ProcessType(Type type) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\ModelDefBuilder.cs:line 94
at Xtensive.Orm.Building.Builders.ModelDefBuilder.ProcessTypes() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\ModelDefBuilder.cs:line 54
at Xtensive.Orm.Building.Builders.ModelDefBuilder.Run() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\ModelDefBuilder.cs:line 32
at Xtensive.Orm.Building.Builders.ModelBuilder.Run() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\ModelBuilder.cs:line 37
at Xtensive.Orm.Building.Builders.DomainBuilder.BuildModel() in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\DomainBuilder.cs:line 213
at Xtensive.Orm.Building.Builders.DomainBuilder.BuildDomain(DomainConfiguration configuration, DomainBuilderConfiguration builderConfiguration) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Building\Builders\DomainBuilder.cs:line 63
at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.BuildStageDomain(UpgradeStage stage) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Upgrade\UpgradingDomainBuilder.cs:line 82
at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.Build(DomainConfiguration configuration) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Upgrade\UpgradingDomainBuilder.cs:line 62
at Xtensive.Orm.Domain.Build(DomainConfiguration configuration) in c:\Temp\DataObjects.Net\Xtensive.Orm\Xtensive.Orm\Orm\Domain.cs:line 281
asked
Feb 04 '11 at 01:59
Janosh
47●10●10●15
With new string[]{} it is working.