我有一个ASP.NET Core 6.0 MVC web应用程序项目,我的实体框架Core版本是7.0.9。
例如,这是我班上的一个:
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace BusinessEntity
{
public class CantactUs
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid Id { get; set; }
[Required, Column(TypeName = "nvarchar(50)")]
public string title { get; set; }
[Required, Column(TypeName = "nvarchar(200)")]
public string email { get; set; }
[Required, Column(TypeName = "nvarchar(5000)")]
public string definition { get; set; }
public DateTime time { get; set; }
public bool read { get; set; }
}
}
我创建
Dbcontext
像这样:
namespace DataAcessLayer
{
public class DB : IdentityDbContext<User>
{
public DB() : base() { }
public DB(DbContextOptions<DB> options) : base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder OptionsBuilder)
{
OptionsBuilder.UseSqlServer(@"data source=.;initial catalog = stor; integrated security = true;");
base.OnConfiguring(OptionsBuilder);
}
//public DbSet<Book> Books { set; get; }
public DbSet<CantactUs> cantactUs { get; set; }
public DbSet<Comment> comments { get; set; }
}
我在中添加了连接字符串
appsettings.json
:
"ConnectionStrings": {
"CON1": "data source=.;initial catalog = stor; integrated security = true;"
但是当我使用
add-migration
和
update-database
,我收到此错误:
已成功与服务器建立连接,但在登录过程中出现错误。(提供程序:SSL提供程序,错误:0-证书链是由不受信任的颁发机构颁发的。)
我不知道如何处理,但经过一些搜索,我发现,我可以将我的连接字符串更改为:
@"data source=.;initial catalog = stor; integrated security = true;TrustServerCertificate=True;"
这个
TrustServerCertificate=True;
部分解决了我的问题,但我现在有另一个问题。我在跑步后出现了这个错误
更新数据库
命令
给定给参数“definition”的大小(5000)超过了允许的最大值(4000)。
但是如果我对的话
nvarchar
是“2^31-1”-如何处理证书和大小错误?