您好我尝试在现有数据库的代码第一个工作流程中使用EF,但我收到错误:
{“值不能为空。 参数名称:source“}
使用以下行时:
Dim ctx = New MVCTest1
Dim t = ctx.Companies.ToList()
我的POCO课程包含在下面:
我有一个名为MVCTest1的标准conn字符串,它指向SQL Server。我认为EF正在使用它,因为我可以在dbContext的连接字符串中看到它。 conn字符串是否需要采用特殊格式。我也注意到onmodelcreated没有被调用。我不确定这是否相关。这是非常新的,所以我怀疑这是明显的干杯,克里斯
Imports System.Data.Entity
Public Class Company
Public CompanyID As Integer
Public CompanyName As String
Public Overridable Property Contacts As ICollection(Of Contact)
End Class
Public Class Contact
Public ContactID As Integer
Public FirstName As String
Public LastName As String
Public Overridable Property Company As Company
End Class
Public Class MVCTest1
Inherits DbContext
Public Contacts As DbSet(Of Contact)
Public Companies As DbSet(Of Company)
Protected Overrides Sub OnModelCreating(ByVal modelBuilder As System.Data.Entity.DbModelBuilder)
---Not being called
End Sub
End Class
答案 0 :(得分:2)
问题是Contacts
中的Companies
和MVCTest1
是公共成员变量,而不是属性。因此,当您解决它们时,它们不会被初始化。