با NET CLI. هم امکان تولید فایل gitignore. وجود دارد:
> dotnet new gitignore
> dotnet new gitignore
<ItemGroup> <PackageReference Include="ErikEJ.EntityFramework.SqlServerCompact" Version="6.4.0-*" /> </ItemGroup>
[ApiController] [Route("api/users")] public class UserController : ControllerBase { [HttpGet("{id:int}")] public ActionResult GetUserById(int id) { var user = new { Id = 1, Name = "Sirwan Afifi" }; return Ok(user); } [HttpPost] public ActionResult CreateUser(CreateUserDto user) { return CreatedAtAction(nameof(GetUserById), new { user.Id }, user); } }
اطلاعات بیشتر (+)
//َAgent Entity
public class Agent:BaseEntity,ISoftDeleteModel { public int AgentId { get; set; } [MaxLength(300, ErrorMessage = "{0} حداکثر میتواند شامل {1} کاراکتر باشد")] public string Title { get; set; } public int Sort { get; set; } public bool IsDisplayed { get; set; } = true; [ForeignKey("Parent")] public int? ParentID { get; set; } public bool IsDeleted { get; set; } [InverseProperty("AgentSend")] public ICollection<LetterAgent> LetterAgentsSend { get; set; } [InverseProperty("AgentReceive")] public ICollection<LetterAgent> LetterAgentsReceive { get; set; } public ICollection<UserAgent> UserAgents { get; set; } public Agent? Parent { get; set; } public ICollection<Agent>? SubGroups { get; set; } }
//SelfReferential modelBuilder.Entity<Agent>(entity => { entity.HasIndex(e => e.ParentID); entity.HasOne(d => d.Parent) .WithMany(p => p.SubGroups) .HasForeignKey(d => d.ParentID); });
<DntTreeView TRecord="AgentDTO" Items="Comments" ChildrenSelector="m => m.SubGroups" style="list-style: none;" ChildrenHtmlAttributes="ChildrenHtmlAttributes"> <ItemTemplate Context="record"> <div class="card mb-1"> <div class="card-body"> <span>@record.Title</span> </div> </div> </ItemTemplate> <EmptyContentTemplate> <div class="alert alert-warning"> There is no item to display! </div> </EmptyContentTemplate> </DntTreeView>
using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; var builder = WebApplication.CreateBuilder(args); builder.Services.AddSingleton<BigCacheConsumer>(); builder.Services.AddSingleton<SmallCacheConsumer>(); builder.Services.AddKeyedSingleton<IMemoryCache, BigCache>("big"); builder.Services.AddKeyedSingleton<IMemoryCache, SmallCache>("small"); var app = builder.Build(); app.MapGet("/big", (BigCacheConsumer data) => data.GetData()); app.MapGet("/small", (SmallCacheConsumer data) => data.GetData()); app.Run(); class BigCacheConsumer([FromKeyedServices("big")] IMemoryCache cache) { public object? GetData() => cache.Get("data"); } class SmallCacheConsumer(IKeyedServiceProvider keyedServiceProvider) { public object? GetData() => keyedServiceProvider.GetRequiredKeyedService<IMemoryCache>("small"); }
MyCollection.OrderBy(x => Random.Shared.Next()).Take(10)
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.10" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> </ItemGroup> </Project>
dotnet tool update --global dotnet-ef --version 7.0.10
dotnet ef dbcontext scaffold "Data Source=(localdb)\mssqllocaldb;Initial Catalog=DbName;Encrypt=false;" Microsoft.EntityFrameworkCore.SqlServer -o Output -f
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql" Version="7.0.0" /> <PackageReference Include="Pomelo.EntityFrameworkCore.MySql.Design" Version="1.1.2" /> </ItemGroup> </Project>
dotnet tool update --global dotnet-ef --version 7.0.10
dotnet ef dbcontext scaffold "server=localhost;port=3306;user=root;password=MyPass;database=MyDbName;TreatTinyAsBoolean=true;AllowZeroDateTime=true;ConvertZeroDateTime=true;" Pomelo.EntityFrameworkCore.MySql -o Output -f
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="7.0.4"/> </ItemGroup> </Project>
dotnet tool update --global dotnet-ef --version 7.0.10
dotnet ef dbcontext scaffold "User ID=Vahid;Password=MyPass;Host=localhost;Port=5432;Database=MyDbName;Pooling=true;" Npgsql.EntityFrameworkCore.PostgreSQL -o Output -f
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="7.0.10" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="7.0.10" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.10"> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> <PrivateAssets>all</PrivateAssets> </PackageReference> </ItemGroup> </Project>
dotnet tool update --global dotnet-ef --version 7.0.10
dotnet ef dbcontext scaffold "Data Source=C:\\Path\\db.sqlite" Microsoft.EntityFrameworkCore.Sqlite -o Output