ef core使用code first无法为mysql数据表设置字段默认值,该怎么办

ef core使用code first无法为mysql数据表设置字段默认值,该怎么办,第1张

这里我们选择 ASP.NET Core Web Application (.NET Core)

这里选择web 应用程序,然后更改身份验证 改为 不进行身份验证

然后再包管理控制台里执行下面两条命令

引用 EntityFrameworkCore

Install-Package Microsoft.EntityFrameworkCore

再引用 EntityFrameworkCore.SqlServer

Install-Package Microsoft.EntityFrameworkCore.SqlServer

创建实体

我们在项目添加一个 Models 文件夹。

新建一个User.cs

public class User

{

public int Id { getset}

public string UserName { getset}

public string Password { getset}

}

这里我为了方便,继续新建 DataContext.cs

public class DataContext : DbContext

{

public DataContext(DbContextOptions<DataContext>options)

: base(options)

{

}

public DbSet<User>Users { getset}

}

创建数据库

打开 Startup.cs 在 ConfigureServices 下添加如下代码

public void ConfigureServices(IServiceCollection services)

{

//这里就是填写数据库的链接字符串

var connection = "Data Source=.Initial Catalog=EFCoreUser ID=saPassword=sa.123"

services.AddDbContext<DataContext>(options =>options.UseSqlite(connection))

// Add framework services.

services.AddMvc()

}

url:"__URL__/liandong",这个URL能访到吗?returnjson_encode($rs)这个$rs里面有中文字不,是不是非UTF8的编码。如果是非UTF8请先转成UTF8再json_encode

会。

数据库中字段设置的默认值和插入的结果不一致,怎么办?

解决方案1、insert的sql语句贴出来;

解决方案2、先看看你的添加代码是不是有问题,怎么写的;

解决方案3、

我做插入不是直接用sql插的,而是运用EntityFramework代码如下:

using(TestEntitiescontext=newTestEntities())

{varperson=context.CreateObject<PersonsEFEntity>

()person.FirstName="w"person.LastName="m"person.Address="闵行宜山路"person.City="上

海"context.PersonsEFEntitySet.AddObject(person)context.SaveChanges()}

以上代码中我没有给person.isStudent赋值

解决方案5、person.isStudent不赋值就是默认为0;

解决方案7、

数据库脚本:SETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Persons]([Id][int]IDENTITY(1,1)NOTNULL,[FirstName][nvarchar](50)NULL,[LastName][nvarchar](50)NULL,[Address][nvarchar](50)NULL,[City][nvarchar](50)NULL,[isStudent][bit]NOTNULL,CONSTRAINT[PK_Persons]PRIMARYKEYCLUSTERED([Id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOALTERTABLE[dbo].[Persons]ADDCONSTRAINT[Persons_isStudent]DEFAULT((1))FOR[isStudent]GO默认值是1。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9903924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存