ولی در آخر قسمت cache-control ناقص اعمال میشه ؟
ولی در آخر قسمت cache-control ناقص اعمال میشه ؟
using (var db = new BloggingContext()) { var blog = new Blog { Url = "http://sample.com" }; db.Blogs.Add(blog); db.SaveChanges(); }
using (var db = new BloggingContext()) { var blog = db.Blogs.First(); blog.Url = "http://sample.com/blog"; db.SaveChanges(); }
using (var db = new BloggingContext()) { var blog = db.Blogs.First(); db.Blogs.Remove(blog); db.SaveChanges(); }
using (var context = new BloggingContext()) { var blog = context.Blogs .Select(b => new { Blog = b, Posts = b.Posts.Count() }); }
using (var context = new BloggingContext()) { var blog = context.Blogs .Select(b => new { Id = b.BlogId, Url = b.Url }); }
using (var context = new BloggingContext()) { var blogs = context.Blogs.AsNoTracking().ToList(); }
using (var context = new BloggingContext()) { context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
using (var context = new BloggingContext()) { var blog = context.Blogs.First(); var post = new Post { Title = "Intro to EF Core" }; blog.Posts.Add(post); context.SaveChanges(); }
using (var context = new BloggingContext()) { var blog = new Blog { Url = "http://blogs.msdn.com/visualstudio" }; var post = context.Posts.First(); blog.Posts.Add(post); context.SaveChanges(); }
var blog = new Blog { Id = 2, Url = "https://www.dntips.ir" }; context.Blog.Attach(blog); context.SaveChanges();
var blog = new Blog { Id = 2, Url = "https://www.dntips.ir" }; context.Entry(blog).State = EntityState.Modified ; context.SaveChanges();
var blog = new Blog { Id = 2, Url = "https://www.dntips.ir" }; context.Update(blog); context.SaveChanges();
context.ChangeTracker.TrackGraph(blog, e => e.Entry.State = EntityState.Added);
public class BaseEntity { public int Id { set; get; } public DateTime? DateAdded { set; get; } public DateTime? DateUpdated { set; get; } }
public class Person : BaseEntity { public string FirstName { get; set; } public string LastName { get; set; } }
public class ApplicationDbContext : DbContext { // same as before public override int SaveChanges() { this.ChangeTracker.DetectChanges(); var modifiedEntries = this.ChangeTracker .Entries<BaseEntity>() .Where(x => x.State == EntityState.Modified); foreach (var modifiedEntry in modifiedEntries) { modifiedEntry.Entity.DateUpdated = DateTime.UtcNow; } var addedEntries = this.ChangeTracker .Entries<BaseEntity>() .Where(x => x.State == EntityState.Added); foreach (var addedEntry in addedEntries) { addedEntry.Entity.DateAdded = DateTime.UtcNow; } return base.SaveChanges(); } }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity<Blog>().Property<DateTime>("DateAdded");
var blogs = context.Blogs.OrderBy(b => EF.Property<DateTime>(b, "DateAdded"));
context.Entry(myBlog).Property("DateAdded").CurrentValue = DateTime.Now;
foreach (var addedEntry in addedEntries) { addedEntry.Property("DateAdded").CurrentValue = DateTime.UtcNow; }
- Creating an IdentityServer 5 Project
- Adding JWT Bearer Authentication to an ASP.NET Core 5 API
- Adding Policy-Based Authorisation to an ASP.NET Core 5 API
- Authenticating a .NET 5 Console Application using IdentityServer 5
- Adding API Resources to IdentityServer 5
- Containerising a PostgreSQL 13 Database
- Adding Entity Framework Core 5 to IdentityServer 5
- Adding an OAuth 2.0 Security Scheme to an ASP.NET Core 5 API
- Adding ASP.NET Core 5 Identity to IdentityServer 5
- Seeding an ASP.NET Core 5 Identity Database with Users
- Authenticating an ASP.NET Core 5 Web Application using IdentityServer 5
- Authenticating an Angular 11 Single-Page Application using IdentityServer 5
- Authenticating a Flutter Android Application using IdentityServer 5
- Containerising an IdentityServer 5 Project
- Containerising an IdentityServer 5 Project with API Resources and Clients
قسمت 1 - معرفی و نحوه استفاده از آن
قسمت 2 - طراحی موجودیتهای سیستم
قسمت 3 - پیادهسازی سرویسهای موجودیتها
قسمت 4 - پیادهسازی CRUD API موجودیتها
قسمت 5 - مکانیزم Eventing و استفاده از سرویسهای موجودیتها
قسمت 6 - پیادهسازی عملیات CRUD موجودیتها با استفاده از ASP.NET Core MVC
قالبهای تهیه شده مبتنیبر DNTFrameworkCore
public class AutomapperRegistry : Registry { public AutomapperRegistry() { var platformSpecificRegistry = PlatformAdapter.Resolve<IPlatformSpecificMapperRegistry>(); platformSpecificRegistry.Initialize(); For<ConfigurationStore>().Singleton().Use<ConfigurationStore>() .Ctor<IEnumerable<IObjectMapper>>().Is(MapperRegistry.Mappers); For<IConfigurationProvider>().Use(ctx => ctx.GetInstance<ConfigurationStore>()); For<IConfiguration>().Use(ctx => ctx.GetInstance<ConfigurationStore>()); For<ITypeMapFactory>().Use<TypeMapFactory>(); For<IMappingEngine>().Singleton().Use<MappingEngine>() .SelectConstructor(() => new MappingEngine(null)); this.Scan(scanner => { scanner.AssembliesFromApplicationBaseDirectory(); scanner.ConnectImplementationsToTypesClosing(typeof(ITypeConverter<,>)) .OnAddedPluginTypes(t => t.HybridHttpOrThreadLocalScoped()); scanner.ConnectImplementationsToTypesClosing(typeof(ValueResolver<,>)) .OnAddedPluginTypes(t => t.HybridHttpOrThreadLocalScoped()); }); } }
public static class SmObjectFactory { private static readonly Lazy<Container> _containerBuilder = new Lazy<Container>(defaultContainer, LazyThreadSafetyMode.ExecutionAndPublication); public static IContainer Container { get { return _containerBuilder.Value; } } private static Container defaultContainer() { var container = new Container(cfg => { cfg.AddRegistry<AutomapperRegistry>(); cfg.Scan(scan => { scan.TheCallingAssembly(); scan.WithDefaultConventions(); scan.AddAllTypesOf<Profile>().NameBy(item => item.FullName); }); }); configureAutoMapper(container); return container; } private static void configureAutoMapper(IContainer container) { var configuration = container.TryGetInstance<IConfiguration>(); if (configuration == null) return; //saying AutoMapper how to resolve services configuration.ConstructServicesUsing(container.GetInstance); foreach (var profile in container.GetAllInstances<Profile>()) { configuration.AddProfile(profile); } } }
public class UsersService : IUsersService { private readonly IMappingEngine _mappingEngine; public UsersService(IMappingEngine mappingEngine) { _mappingEngine = mappingEngine; } public UserViewModel GetName(int id) { var dbUser1 = new User { Id = 1, Name = "Test", RegistrationDate = DateTime.Now.AddDays(-10) }; var uiUser = new UserViewModel(); _mappingEngine.Map(source: dbUser1, destination: uiUser); return uiUser; } }
آخرین نگارش نیوگت موجود | اسمبلی مرتبط | متد الحاقی |
2.2.0 | Microsoft.AspNetCore.Authorization.Policy, Version=3.1.0.0 | ()AddAuthorization |
2.2.0 | Microsoft.AspNetCore.Authentication, Version=3.1.0.0 | ()AddAuthentication |
3.1.3 | Microsoft.AspNetCore.Authentication.JwtBearer, Version=3.1.2.0 | ()AddJwtBearer |
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp3.1</TargetFramework> </PropertyGroup> <ItemGroup> <FrameworkReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> </Project>
{ // Use IntelliSense to find out which attributes exist for C# debugging // Use hover for the description of the existing attributes // For further information visit https://github.com/OmniSharp/omnisharp-vscode/blob/master/debugger-launchjson.md "version": "0.2.0", "configurations": [ { "name": ".NET Core Launch (console)", "type": "coreclr", "request": "launch", "preLaunchTask": "build", // If you have changed target frameworks, make sure to update the program path. "program": "${workspaceFolder}/bin/Debug/netcoreapp3.1/EFCoreDbFunctionsSample.dll", "args": [], "cwd": "${workspaceFolder}", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console "console": "internalConsole", "stopAtEntry": false, "justMyCode": false, "symbolOptions": { "searchMicrosoftSymbolServer": true }, "suppressJITOptimizations": true, "env": { "COMPlus_ZapDisable": "1" } }, { "name": ".NET Core Attach", "type": "coreclr", "request": "attach", "processId": "${command:pickProcess}" } ] }
Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.8\System.Private.CoreLib.dll'. Symbols loaded. Loaded 'D:\Prog\1399\EFCoreDbFunctionsSample\bin\Debug\netcoreapp3.1\EFCoreDbFunctionsSample.dll'. Symbols loaded. . . . Loaded 'D:\Prog\1399\EFCoreDbFunctionsSample\bin\Debug\netcoreapp3.1\EFCoreSecondLevelCacheInterceptor.dll'. Symbols loaded. . . .