我首先学习代码,并且我有一个项目可以与现有数据库一起使用。
我对我打算做的事情感到有点困惑。我会解释:
我似乎很少有关于“EF代码首先使用现有数据库”的博客,但我不确定或不清楚如果需要创建这些东西或者我会得到像“MyColumn_MyColum”这样的奇怪错误,就好像codeFirst是试图建立一些FK或其他东西。
有人可以澄清一下吗? 非常感谢。我知道问题很少,但如果你能回答01或2那就没问题。再次感谢
答案 0 :(得分:1)
如果您希望为您生成代码,请使用database-first approach with DbContext API。只需从数据库中创建EDMX文件,然后让DbContext Generator模板为您生成所有实体和上下文。
DbContext Fluent API主要针对代码优先开发方法,EF将根据您提供的代码为您创建数据库。它可以与现有数据库一起使用,但它需要更多的技能和对EF可以为您提供的映射的理解。
一般而言:
EntityConfiguration
(实体名称是表名的单数形式,所有属性具有相同的名称,表中的主键和实体命名为Id或EntityNameId等。)。ToTable
。EF使用a lot of default conventions来驱动名称的定义方式。约定可以删除。
如果为每个表定义EntityConfiguration
,那么你不会做错任何事 - 它至少会让你学习所需的东西,你的映射将是明确的/自我记录的。