【发布时间】:2014-08-10 12:43:15
【问题描述】:
我希望在这里得到您的帮助。我对 EF 很陌生,遇到了一些麻烦。我正在使用 Database First 方法,并且在 Azure 中有一个数据库,我必须从中检索数据。
[DataContract]
[Table("A")]
public class AgencyDC
{
[DataMember]
[Key]
public string AID { get; set; }
public string AName { get; set; }
public string GeneralEmailAddress { get; set; }
public string WebsiteURL { get; set; }
[DataMember]
[ForeignKey("AID")]
[IgnoreDataMember]
public virtual AExtensionDC AExtension { get; set; }
}
[DataContract]
[Table("AExtension")]
public class AExtensionDC
{
[DataMember]
[Key]
public string AID { get; set; }
[DataMember]
public bool? IsActive { get; set; }
public bool? IsOptedOut { get; set; }
public DateTime? LastUpdated { get; set; }
}
我正在尝试使用 EF6 在我的上下文中使用 DBSets 检索我的记录..
public List<ADataCcontract> GetAllAs()
{
using (AContext _aCtx = new AContext())
{
var mylist = _aCtx.A.Include("AExtension").ToList();
return mylist;
}
}
现在,我应该返回 547 条记录,其中只有 1 条具有 AExtension 导航属性,其中包含内容。其他 546 条记录应包含 NULL。但是,出于某种原因,我只得到似乎在两个表中都有匹配的记录。在 SQL 语言中,我只是想要一个左连接,以便从 AE 实体返回所有行,并在 AE 中选择匹配。
我希望这是有道理的。
如果可能的话,如果您有解决办法,能否请您发布一个我可以参考的示例?我真的被困住了。
【问题讨论】:
标签: c# entity-framework wcf