如何在模型上设置多列索引:
public class Meta
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid Id { get; set; }
[Index("MetaPeriodDateUnq", IsUnique = true, Order = 2)]
[Required]
public DateTime Date { get; set; }
[Index("MetaPeriodDateUnq", IsUnique = true, Order = 1)]
[Required]
public virtual PeriodType Period { get; set; }
/*
...
*/
}
public class PeriodType
{
[Key]
public Guid Id { get; set; }
/*
...
*/
}
Run Code Online (Sandbox Code Playgroud)
在DB初始化之后,只有"MetaPeriodDateUnq"索引提到Meta.Date列,但我依赖于Meta.Date + Meta.Period.Id唯一性.
我准备将一个存储库实例注入一些Web.UI.WebControls.Image派生类型:
public class CustomImageControl : Image
{
[Import]
public ICachedNameRepository Repo { get; set; } // Null reference here
private void DynamicImage_PreRender(object sender, EventArgs e)
{
ImageUrl = {some ICachedNameRepository usage}
}
}
Run Code Online (Sandbox Code Playgroud)
这也是我为测试目的而实现的默认页面:
public partial class _Default : Page
{
[Import]
public ICachedNameRepository Repo { get; set; } // Totally ok here
protected void Page_Load(object sender, EventArgs e)
{
{some ICachedNameRepository usage}
}
}
Run Code Online (Sandbox Code Playgroud)
我根据官方指南实施了容器引导,关于使用Control注册而不是Page:
private void BootStrapContainer()
{
var container = new Container();
container.Options.PropertySelectionBehavior = new …Run Code Online (Sandbox Code Playgroud)