The current CSharpHelper cannot scaffold literals of type 'Microsoft.EntityFrameworkCore.Metadata.Internal.DirectConstructorBinding'. Configure your services to use one that can.

7/31/2018 MVC
1948

در این مطلب در مورد استفاده از چند پروژه بودن یک پروژه mvc  توضیح دادیم با اینحال بهتر بود Connectionstring  رادر پروژه Modal  قرار دهم 

برای همین این مطالب به پروژه اضافه کردم در قسمت تعریف  dbcontext این کدها رو اضافه کردم 

public class ApiContextFactory : IDesignTimeDbContextFactory<UniverContext>
    {
      
        public UniverContext CreateDbContext(string[] args)
        {
            var builder = new DbContextOptionsBuilder<UniverContext>();
            builder.UseSqlServer(
                @"Server=11.11.11.11;Database=mydatabase;Integrated Security=false;Initial Catalog=database;User ID=databaseusername;Password=databasepassword;");

                return new UniverContext(builder.Options);
        }
    }

 

و دستور ایجاد migration  را ایجاد کردم 

به این خطا برخوردم 

The current CSharpHelper cannot scaffold literals of type 'Microsoft.EntityFrameworkCore.Metadata.Internal.DirectConstructorBinding'. Configure your services to use one that can.

برای همین لازم بود تا فایل .csproj  مربوط به پروژه modal  را بررسی کنم و این رفرنسها حتما اضافه شده باشد.

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.1.2" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.1.2" />
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.1.6" />
  </ItemGroup>