在这里撕扯头发。我正在尝试将实体类型(比如“客户”)链接到代码优先应用程序中的UserProfile表。我不想将我的域信息放入自动生成的UserProfile表中,我希望它在我的域表中。
我已经在我的域类的抽象基础中添加了public virtual UserProfile UserId { get; set; }
,但是update-database一直在说No pending code-based migrations.
我还处于早期开发阶段,我想保留的数据库中没有任何东西是否有“核选项”来让迁移“忘记一切”并重新开始? update-database -targetmigration:0
似乎对我没什么用。
编辑:我修改了数据库&重新开始,将字段从抽象类迁移到具体类,bob是你的叔叔。我只是拥有大量复制字段和大量复制代码的可怕集合,以处理两种“不同”类型(实际上是相同的)。
毫无疑问,这是我在技术BAR NONE上遇到过的最糟糕的体验。
我想我的问题是,经过一周阅读文章后,观看Pluralsight视频&反复敲打砖墙,这是人们实际使用这种技术的方式吗?这是AWFUL。
答案 0 :(得分:1)
如果这是您第一次进入ORM,无论您使用哪种框架,都会感到沮丧。 ORM可能很难处理。您正在OOP和规范化数据库表之间移动。需要一些练习。
关于实体框架的好处是,大多数情况下,它可以为您节省自己映射关系的麻烦。不知道你能用NHibernate做到吗?
缺点是EF偶尔会出错,而且很难弄清楚发生了什么。它在很大程度上依赖于惯例,如果您知道它们是什么,这些约定非常简单。
就像你刚开始编码时一样,你就像“空指针异常意味着什么!”得到你的轴承需要一点点。一旦你练习了它,虽然真的会加快你的开发时间。
尝试发布您的模型。我或许可以帮助你回到正确的轨道上。