یک نکتهی تکمیلی: معادل این مطلب در NET Core.
۵ سال و ۸ ماه قبل، جمعه ۲۸ دی ۱۳۹۷، ساعت ۱۷:۰۸
services.Decorate(descriptor.ServiceType, (target, serviceProvider) => proxyGenerator.CreateInterfaceProxyWithTargetInterface(descriptor.ServiceType, target, serviceProvider.GetService<LoggingInterceptor>()));
var descriptors = services.ToList(); var proxyGenerator = new ProxyGenerator(); foreach (var descriptor in descriptors) { var serviceInterfaceType = descriptor.ServiceType; services.Replace(ServiceDescriptor.Describe(descriptor.ServiceType, provider => proxyGenerator.CreateInterfaceProxyWithTargetInterface(descriptor.ServiceType, provider.GetInstance(descriptor), new LoggingInterceptor()), descriptor.Lifetime)); }
provider => proxyGenerator.CreateInterfaceProxyWithTargetInterface(descriptor.ServiceType, provider.GetInstance(descriptor), new LoggingInterceptor())
public static object GetInstance(this IServiceProvider provider, ServiceDescriptor descriptor) { if (descriptor.ImplementationInstance != null) { return descriptor.ImplementationInstance; } if (descriptor.ImplementationType != null) { return provider.GetServiceOrCreateInstance(descriptor.ImplementationType); } return descriptor.ImplementationFactory(provider); } private static object GetServiceOrCreateInstance(this IServiceProvider provider, Type type) { return ActivatorUtilities.GetServiceOrCreateInstance(provider, type); }
var jobViewModel = Mapper.Map<Job>(jobViewModel);
public class Student { public int Id { get; set; } [Required(ErrorMessage = "نام ضروری است")] [Display(Name = "نام")] public string Name { get; set; } }
[MetadataType(typeof(Student))] public class StudentViewModel { public int Id { get; set; } public string Name { get; set; } }
select * from db.Documents where docexcerpt like N'%SearchText%'