using Microsoft.EntityFrameworkCore;

namespace Lookup.Database;

/// <summary>
/// Common interface for <see cref="IEntity"/> variants
/// which are referenced by <see cref="IKeyEntity{TKey,TValue}"/> instances
/// </summary>
public interface IValueEntity<TKey, TValue> : IEntity
  where TKey : class, IKeyEntity<TKey, TValue>
  where TValue : class, IValueEntity<TKey, TValue>
{
  /// <summary>
  /// The referencing <see cref="IKeyEntity{TKey,TValue}"/> instances
  /// </summary>
  DbSet<IKeyEntity<TKey, TValue>> Keys { get; }
}