小编Ser*_*kov的帖子

实体框架6:具有导航属性的多列唯一索引

如何在模型上设置多列索引:

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唯一性.

c# sql entity-framework sql-server-2008 entity-framework-6

6
推荐指数
1
解决办法
2046
查看次数

解析通过Simple Injector注册的ASP.NET Web窗体Image Control派生类

我准备将一个存储库实例注入一些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)

c# asp.net dependency-injection webforms simple-injector

3
推荐指数
1
解决办法
509
查看次数