我不想在我的 edmx 实体框架中包含关系,我想让外键字段作为我的实体中的普通属性。
我怎样才能做到这一点?
如果您想要数据库中的普通外键,那么您使用的是错误的外键。据我所知,实体框架确保所有那些晦涩的 id 都被丢弃并替换为指向您需要的实体的指针。如果您真的想要这些外键,那么您应该查看不同的数据库。
http://www.thedatafarm.com/blog/2007/09/11/EntityDataModelAssociationsWheresMyForeignKey.aspx
I found the article describing the error in our ways... basically we never supposed to be querying tables via foreign keys instead take a bit more relational approach
(From o In nw.Orders
Where o.OrderID = 10281
Select o.Customers
).First
我认为您正在尝试访问一个表,说Contact
其中有一个外键SubscriberId
,现在说您想添加一个Contact
带有外键 1 的表,例如下面的示例,而不是破解 edmx。
using (BulkSmsEntities ctx = new BulkSmsEntities())
{
int SubscriberId = 1;
tb_contact contact = new tb_contact();
contact.tb_subscriber = ctx.tb_subscriber
.First(a => a.SubscriberId == SubscriberId);
ctx.AddTotb_subscriber_contacts(contact);
ctx.SaveChanges();
}