小编Pet*_*Lim的帖子

Structuremap处理DataContext对象

我想确定每个请求结束后,structuremap是否会处理我的DataContext.

这是我的设置

ForRequestedType<MyDataContext>().TheDefault.Is.OfConcreteType<MyDataContext>();
SelectConstructor<MyDataContext>(() => new MyDataContext());
Run Code Online (Sandbox Code Playgroud)

结构图会自动处理我的datacontext还是我需要手动调用Dispose?

structuremap asp.net-mvc dispose

7
推荐指数
2
解决办法
2716
查看次数

使用Ninject Dispose的WCF不会在requestscope中触发

这是我的模块

internal class WebServiceConfiguration : NinjectModule
{
    public override void Load()
    {
        Bind<IWebService>().To<WebService>().InRequestScope();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是global.asax

public class Global : NinjectHttpApplication
{
    protected override IKernel CreateKernel()
    {
        return new StandardKernel(new WebServiceConfiguration());
    }
}
Run Code Online (Sandbox Code Playgroud)

我也试过InScope(c => OperationContext.Current)

这是我在IWebService中使用IDisposable的服务

[ServiceBehavior(InstanceContextMode = InstanceContextModeDefinition.Mode)]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class WebService : IWebService
{
    private readonly ISomeService _someService;

    public WebService(ISomeService someService)
    {
        _someService = someService;
    }

    public void Dispose()
    {
        _someService.Dispose();
    }
Run Code Online (Sandbox Code Playgroud)

这是服务标记中的ServiceHostFactory

<%@ ServiceHost Language="C#" Debug="true" Factory="Ninject.Extensions.Wcf.NinjectDataServiceHostFactory" Service="WCFTest.Services.WebService" CodeBehind="WebService.svc.cs" %>
Run Code Online (Sandbox Code Playgroud)

注入依赖项有效.我唯一关心的是当客户端关闭服务调用时没有触发dispose方法.

我试图删除Factory ="Ninject.Extensions.Wcf.NinjectDataServiceHostFactory"只是为了测试是否会调用Dipose,它确实调用但当然我不会自动注入.所以我可能会在设置中出错?或者ninject没有调用Dispose的错误?

注意:我在ninject …

wcf ninject

7
推荐指数
1
解决办法
1219
查看次数

如何在EF7或EF核心中更改运行时的数据库模式

我的数据库具有不同的模式,具体取决于运行时的用户选择

我的代码如下:

public partial class FashionContext : DbContext
{
    private string _schema;

    public FashionContext(string schema) : base()
    {
        _schema = schema;
    }

    public virtual DbSet<Style> Styles { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder options)
    {
        options.UseSqlServer(@"Server=.\sqlexpress;Database=inforfashionplm;Trusted_Connection=True;");
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Style>()
            .ToTable("Style", schema: _schema);
    }
}
Run Code Online (Sandbox Code Playgroud)

经过测试.我用'schema1'创建了一个上下文实例.到现在为止还挺好.

但是当我使用不同的模式'schema2'创建另一个上下文实例时,模式仍然在'schema1'上的结果数据.

这是实施:

using (var db = new FashionContext("schema1"))
        {
            foreach (var style in db.Styles)
            {
                Console.WriteLine(style.Name);
            }
        }

        Console.ReadLine();
        Console.Clear();

        using (var db = new FashionContext("schema2"))
        {
            foreach (var …
Run Code Online (Sandbox Code Playgroud)

entity-framework

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

Monodroid Spinner资源参考错误

我正在关注monodroid教程中的微调器.但是在资源上遇到了问题.在此输入图像描述

它无法在VS 2010上查找SimpleSpinnerItem和SimpleSpinnerDropDownItem.我错过了什么吗?

编辑:根据jonp创建一个部分类来注册android运行时

public partial class Resource
{
    public partial class Layout
    {
        [Register("simple_spinner_dropdown_item")]
        public const int SimpleSpinnerDropDownItem = 17367049;
        [Register("simple_spinner_item")]
        public const int SimpleSpinnerItem = 17367048;
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑2:尝试了全球资源

在此输入图像描述

编辑3:我的项目命名空间冲突

我已经确定了为什么const无法识别.这是因为我的命名空间projectname.Android,它是重复的.当我将其更改为projectname.AndroidMobile时,全局资源就在那里.

请参阅下面的冲突.

在此输入图像描述

另外,为了避免冲突,只需使用global :: as jonp

xamarin.android android-spinner

2
推荐指数
1
解决办法
1157
查看次数

EF 4.1代码首先无效的列名称"User_UserId"

我无法弄清楚为什么这会导致EF错误:在EF中保存时,列名"User_UserId"无效.

这是我的模型:

 [DataContract(IsReference = true)]
public class User
{
    [Key]
    [DataMember]
    public virtual Guid UserId { get; set; }

    [DataMember]
    public virtual string Username { get; set; }

    [DataMember]
    public virtual string Password { get; set; }

    [DataMember]
    public virtual string Email { get; set; }

    [DataMember]
    public virtual ICollection<FriendList> FriendLists { get; set; }
}

[DataContract(IsReference = true)]
public class FriendList
{
    [Key]
    [DataMember]
    public virtual Guid FriendListId { get; set; }

    [DataMember]
    [ForeignKey("User")]
    public virtual Guid UserId { …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework

0
推荐指数
1
解决办法
2507
查看次数