我有这种情况:MVC3 EF4.1代码优先延迟加载
MVC3应用程序,与EF4.1 Code-First和SQLCE。
实体:
- 内容;
- 翻译;
对于每个内容项,会出现Ñ翻译由GUID相连。所以内容类没有任何参考翻译,但每个翻译都有一个内容属性。
Content类有一个NotMapped Translation,只是将一个模型发送到视图。
当我填充数据库时,我可以使用GUID作为参数成功填充两个表。
但我怎样才能从视图加载翻译?我新来这个东西像懒惰加载,导航属性等
恢复,我可以正确填充,但没有弄清楚如何加载在一个单一的视图。如何根据“locale”参数加载翻译。
任何人都可以帮助我吗?
谢谢。
UPDATE:CODE
内容类
public class Content
{
#region [ Properties ]
/// <summary>
/// The GUID
/// </summary>
[Key]
public string GUID { get; set; }
public string Type { get; set; }
[NotMapped]
public Translation Translation { get; set; }
#endregion
}
翻译类
public class Translation
{
[Key]
public int ID { get; set; }
public Content Content { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
人口代码
for (int i = start; i < (start + 2); i++)
{
Content c = new Content(1234);
c.Type = Type.ToString();
using (ContentContext db = new ContentContext())
{
if (!db.Contents.Any(o => o.GUID == c.GUID))
{
c.PopulateInfo(Locale);
db.Contents.Add(c);
c.RegionalInfo.Name = "test";
db.Translations.Add(c.Translation);
db.SaveChanges();
}
else
{
c = db.Contents.Single(o => o.GUID == c.GUID);
}
}
// local list to load on the controller
Contents.Add(c);
}
你可以给我们一些代码(你的加载和您的数据的传递)。这样推理更容易。我希望在将内容传递给视图之前加载内容,但这可能取决于您的代码 – Carsten