Squ*_*gs. 7 entity entity-framework foreign-keys entitykey
作为表格的结果,我正在尝试保存新的品牌记录.在我看来,Gender是一个下拉列表,返回一个Integer,它是从ViewData填充的("性别")
我按如下方式设置了我的链接:
gID = CInt(Request.Form("Gender"))
Brand.GenderReference.EntityKey = New EntityKey("DB_ENTITIES.Gender", "Id", gID)
TryUpdateModel(Brand)
DB.SaveChanges()
Run Code Online (Sandbox Code Playgroud)
这导致以下错误.
Entities in 'DB_ENTITIES.Brand' participate in the 'FK_Brand_Gender' relationship. 0 related 'Gender' were found. 1 'Gender' is expected.
Run Code Online (Sandbox Code Playgroud)
有人可以用简单的英语向我解释参数.我也尝试过DB.Gender作为第一个参数,但没有快乐.
Ale*_*mes 18
而不是创建一个EntityKey创建一个存根性别对象(抱歉,我不是一个VB人,所以在C#中):
Gender g = new Gender{ID = Int32.Parse(Request.Form("Gender"))};
Run Code Online (Sandbox Code Playgroud)
然后将性别附加到适当的EntitySet
(DB
您从中获取性别实体的属性名称是下面的字符串):
DB.AttachTo("Genders",g);
Run Code Online (Sandbox Code Playgroud)
这使数据库处于Gender ObjectContext
处于未更改状态而没有数据库查询的状态.现在您可以按照正常情况建立关系
brand.Gender = g;
DB.AddToBrand(brand);
DB.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
这就是它的全部.不需要捣乱EntityKeys
希望这可以帮助
归档时间: |
|
查看次数: |
17337 次 |
最近记录: |