.netcore DDD中,如何把值对象存入数据库?
比如我在 Student 聚合根里有一个 Address 的值对象
一直报错
The property 'Student.Address' is of type 'Address' which is not supported by current database provider. Either change the property CLR type or ignore the property using the '[NotMapped]' attribute or by using 'EntityTypeBuilder.Ignore' in 'OnModelCreating'.
有段时间我学习过entityframework,记得有个“Complex types”的概念。不过我不知道.net core里是否还保留这个概念,请看我当时写的随笔:https://www.cnblogs.com/zzy0471/p/6859727.html ,如果还有这个概念的话,也许可以用
您好,我看到了您的博文,和我的一样,我没有发现你在哪里配置了Complex types”?
我的需求和你的一样,但是一直不行,报上边的错
@老张的哲学: 可能是版本不一样,我这个是6.0,你有没有看官网上的文档,是否有说明呢
@老张的哲学: 你是用的code first模式吗?我记得我学的时候,没有配置说明,根据实体自动生成了表结构就可以了
@会长:
我用的是 .net core 2.1 下的 EFCore 2.2.0 ,用的Code First 模式,
我也查了资料,好像EF版本的是,但是core版本确实报错
The expression 'c => c.Address.Province' is not a valid property expression. The expression should represent a simple property access: 't => t.MyProperty'.
Parameter name: propertyAccessExpression
不让我用这个方法
@老张的哲学: 我查到一个教程,说entity framework 并不支持 complex types:https://www.dotnetcurry.com/entityframework/1347/entity-framework-ef-core-tutorial
@老张的哲学:你看看这个,efcore有个新概念:owned entity types ,我略看了下,好像是类似的东西:
题主,别忘了结贴啊,我要30个园豆
@会长: 万分感谢!可以用,帅老铁
@老张的哲学: 你是不是用百度搜索的,所以没搜到,我用百度也没搜到,用google搜到了答案
@会长: 是百度的,看来以后要谷粉了
@会长: 给你结帖了,豆子拿走
@老张的哲学: 多谢