0

在这里撕头发。我正在尝试将实体类型(例如“客户”)链接到代码优先应用程序中的 UserProfile 表。我不想将我的域信息放入自动生成的 UserProfile 表中,我希望它在我的域表中。

我已经public virtual UserProfile UserId { get; set; }在我的域类的抽象基础中添加了一个,但是 update-database 一直在说No pending code-based migrations.

我仍处于早期开发阶段,我想保留的数据库中没有任何内容是否有“核选项”可以让迁移“忘记一切”并重新开始?update-database -targetmigration:0似乎对我没有多大作用。

编辑:我对数据库进行了核对并重新开始,并将字段从抽象类迁移到具体类,鲍勃是你的叔叔。我只是拥有这个糟糕的类型集合,其中包含大量复制字段和大量复制代码来处理两种“不同”类型(实际上是相同的)。

毫无疑问,这是我在 BAR NONE 技术方面遇到的最糟糕的经历。

我想我的问题是,在阅读了一周的文章、观看 Pluralsight 视频并反复用头撞砖墙之后,人们实际上是这样使用这项技术的吗?这太糟糕了。

4

1 回答 1

1

如果这是您第一次尝试 ORM,那么无论您使用哪种框架,都会感到沮丧。ORM 可能很难缠住你的脑袋。您正在 OOP 和规范化数据库表之间移动。这需要一些练习。

实体框架的好处在于,它在大多数情况下为您省去了必须自己映射关系的麻烦。不确定您是否可以使用 NHibernate 做到这一点?

缺点是 EF 偶尔会出错,而且很难弄清楚到底发生了什么。它在很大程度上依赖于约定,如果你知道它们是什么,它们就很简单了。

就像当你第一次开始编码时,你就像“空指针异常到底是什么意思!” 需要一点时间来了解你的方位。一旦你对它进行了一些练习,它确实会加快你的开发时间。

尝试发布您的模型。我也许可以帮助您重回正轨。

于 2012-12-28T17:44:26.840 回答