/// <summary> /// Resolves the single key property for the specified type. /// </summary> /// <param name="keyPropertyResolver">The <see cref="IKeyPropertyResolver"/>.</param> /// <param name="type">The type to resolve the key property for.</param> /// <param name="isIdentity">Indicates whether the key properties are identity properties.</param> /// <returns>A <see cref="PropertyInfo"/> instance of the key property of <paramref name="type"/>.</returns> public static PropertyInfo ResolveKeyProperty(this IKeyPropertyResolver keyPropertyResolver, Type type, out bool isIdentity) => keyPropertyResolver.ResolveKeyProperties(type, out isIdentity).FirstOrDefault();
/// <summary> /// Sets the <see cref="IKeyPropertyResolver"/> implementation for resolving key properties of entities. /// </summary> /// <param name="resolver">An instance of <see cref="IKeyPropertyResolver"/>.</param> public static void SetKeyPropertyResolver(IKeyPropertyResolver resolver) => _keyPropertyResolver = resolver;
/// <summary> /// Resolves the single key property for the specified type. /// </summary> /// <param name="keyPropertyResolver">The <see cref="IKeyPropertyResolver"/>.</param> /// <param name="type">The type to resolve the key property for.</param> /// <returns>A <see cref="PropertyInfo"/> instance of the key property of <paramref name="type"/>.</returns> public static PropertyInfo ResolveKeyProperty(this IKeyPropertyResolver keyPropertyResolver, Type type) => keyPropertyResolver.ResolveKeyProperties(type).FirstOrDefault();