好的,这里有一些上下文:我正在使用 EF5、MVC4 和 SQL CE4 来构建一个 Web 应用程序。我一直在松散地遵循本教程,但有一些不同之处。
- 我的上下文类和 POCO 对象在它们自己的程序集中。
- 我正在使用 SQL CE4 而不是 SQL Express Local DB
- 我的课不像教程那么简单
我已经使用了一种解决方法来让简单的类可以注册。
我曾认为 EF5支持在 EF5 中使用枚举,但它们可以在 Keys 中使用吗?
当我尝试为一个简单的类(1 个 int 键属性,1 个字符串属性)添加一个控件(添加控制器,具有读/写操作和视图的 MVC 控制器,使用实体框架)时,它可以工作。尝试添加具有作为键(主键或外键)一部分的属性的类时,出现各种错误
Unable to retrieve metadata for 'blah'. Using the
same DbCompiledModel to create contexts against different types of
database servers is not supported. Instead, create a separate
DbCompiledModel for each type of server being used.
Index was out of range. Must be non-negative and less than the size of
the collection.
Parameter name: index
C:\Program Files (x86)\Microsoft Visual Studio\11.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC 4\
CodeTemplates\AddController\ControllerWithContext.tt(0,0) : error :
Running transformation: System.IndexOutOfRangeException: Index was outside the bounds of the
array.
---StackTrace---
我在这些类之间发现的唯一相似之处是它们有一个绑定到键的 emun。其他具有非键枚举的类正确生成。这是问题还是我完全错过了标记?
编辑:失败的类的示例
public class A
{
public virtual AIdEnum Id { get; set; }
public virtual string Name { get; set; }
public virtual ICollection<B> Bs { get; set; }
public virtual ICollection<C> Cs { get; set; }
}