コード例 #1
0
        /// <summary>
        /// Create a new instance of <see cref="RuntimeScopedRepositoryMetadata"/>
        /// </summary>
        /// <param name="metadata"></param>
        /// <param name="instance"></param>
        /// <param name="accessor"></param>
        internal RuntimeScopedRepositoryMetadata(IRepositoryMetadata metadata, IRepository instance, TraceIdAccessor accessor = null)
        {
            metadata.CheckNull(nameof(metadata));
            Instance = instance ?? throw new ArgumentNullException(nameof(instance));
            TranceId = accessor?.GetTraceId();

            Name          = metadata.Name;
            ServiceType   = metadata.ServiceType;
            ImplementType = metadata.ImplementType;
        }
コード例 #2
0
 /// <summary>
 /// Convert to runtime scoped repository metadata
 /// </summary>
 /// <param name="metadata"></param>
 /// <param name="instance"></param>
 /// <param name="accessor"></param>
 /// <returns></returns>
 public static RuntimeScopedRepositoryMetadata RuntimeScoped(this IRepositoryMetadata metadata, IRepository instance, TraceIdAccessor accessor = null)
 {
     metadata.CheckNull(nameof(metadata));
     return(new RuntimeScopedRepositoryMetadata(metadata, instance, accessor));
 }