小编jan*_*ann的帖子

具有复杂属性的ViewModel

我不确定如何让这个工作.我不知道如何在这个ViewModel上[Display(Name = "XXXX")]为我的Customer属性创建:

public class CreateAccountViewModel
{
    [Required]
    public Customer Customer { get; set; }

    [Required]
    [Display(Name = "Username")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [DataType(DataType.Password)]
    [Display(Name = "Confirm password")]
    public string ConfirmPassword { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我应该创建一个ViewModelfor Customer和reference而不是Customer对象吗?然后Display()为所有属性创建?

如果是这样,映射是否会提交?

我使用如下(片段):

<div class="form-group">
    @Html.LabelFor(m => m.Customer.CompanyName, new { @class = "col-md-2 control-label" })
    <div class="col-md-10"> …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc viewmodel

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

从远角设置宽度/高度的动画

我有一个6块的网格.当点击每个块时,块膨胀并覆盖容纳块的容器.

第一个框(左上角)看起来不错,但是其他框架没有错觉这个块长到容器的宽度和高度,因为它从它们的左上角位置开始.

理想情况下,盒子2和5应该从它们的中心扩展,盒子1,3,4和6应该从它们的远角扩展.这可能吗?怎么样?

创建了一个显示我的问题的JSFiddle.但是重现的代码在这里:

JQuery的

$(".service-block").on("click", "a", function (e) {
    e.preventDefault();

    var block = $(this);
    var blockOffset = block.offset();
    var blockBackgroundColor = block.css("backgroundColor");

    var container = $(".service-grid");
    var containerOffset = container.offset();

    // Create the popup and append it to the container
    var popout = $("<div class='service-block-popup'>Test</div>");
    popout.css({
        "backgroundColor": blockBackgroundColor,
        "position": "absolute",
        "top": blockOffset.top,
        "left": blockOffset.left
    }).appendTo(container)

    // Now animate the properties
    .animate({
        "height": container.height() + "px",
        "width": container.width() + "px",
        "top": containerOffset.top,
        "left": containerOffset.left
    }, 1500, …
Run Code Online (Sandbox Code Playgroud)

html css jquery

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

C#在特定时间执行功能

我做了一个小窗体程序来对磁盘上的一些文件进行一些自动备份.现在我需要在执行之前按一个按钮,但我想让程序运行,并在凌晨3点运行执行备份的功能.

我已经研究了一下,发现我需要一个计时器,但我没有使用它,所以它在特定的时间执行.

我希望你能帮助我.:-)

谢谢!

c# timer winforms

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

NuGet发布管理

我第一次做了一些我想在NuGet上分享的东西,但我不确定这个"发布准备"是如何完成的.

目前我的以下步骤是:

  1. 手动将主程序集(MyAssembly)的程序集版本AssemblyInfo.cs从中1.0.0.0更改为1.1.0.0
  2. 在Visual Studio中构建主程序集发行版
  3. 打包我的主程序集(nuget pack -prop configuration=release== MyAssembly.1.1.0.0.nupkg)
  4. 将此包发布到NuGet(nuget push MyAssembly.1.1.0.0.nupkg)
  5. 更新程序集引用的NuGet包MyAssembly(例如MyAssembly.Web.Mvc,MyAssemblyv1.0.0.0- > v1.1.0.0使用NuGet包管理器更新),在packages.config中定义
  6. 更改版本AssemblyInfo.csMyAssembly.Web.Mvc1.1.0.0,建立释放,包的NuGet和发布
  7. 对所有引用程序集重复步骤6

这是PITA的一些步骤,我有一天会犯错并打破发布.

这让我想到,我错过了一个关键点,我做错了吗?

UPDATE

基于@ialekseev提供的知识,我现在创建了这个:

Build.ps1

Param(
    [Parameter(Mandatory=$true)]
    [string]$version,
    [string]$configuration = "Release",
    [boolean]$tests = $false,
    [boolean]$publish = $false,
    [boolean]$pack = $false,
    [string]$outputFolder = "build\packages"
)

# Include build functions
. "./BuildFunctions.ps1"

# The solution we are …
Run Code Online (Sandbox Code Playgroud)

.net c# nuget nuget-package

5
推荐指数
1
解决办法
950
查看次数

MongoDb和实体框架的抽象

由于Mark Seemann的引用,我可能无法完成任务:

如果您有一个特定的ORM,那么请明确它.不要将其隐藏在界面后面.它会产生一种幻觉,即您可以将一种实现替换为另一种实现.在实践中,这是不可能的.

但我想要完成的是通过改变我在启动时的依赖关系来切换我的实体框架ORM与MongoDb驱动程序.

但是我一直遇到问题,我没有提供足够的灵活性,或者只是new NotImplementedException();在我的MongoDb实现中有太多的问题.

我的接口当前结构如下所示:

public interface IReadEntities
{
    IQueryable<TEntity> Query<TEntity>() where TEntity : Entity;
}

public interface IWriteEntities : IUnitOfWork, IReadEntities
{
    TEntity Get<TEntity>(object firstKeyValue, params object[] otherKeyValues) where TEntity : Entity;

    Task<TEntity> GetAsync<TEntity>(object firstKeyValue, params object[] otherKeyValues) where TEntity : Entity;

    IQueryable<TEntity> Get<TEntity>() where TEntity : Entity;

    void Create<TEntity>(TEntity entity) where TEntity : Entity;

    void Delete<TEntity>(TEntity entity) where TEntity : Entity;

    void Update<TEntity>(TEntity entity) where TEntity : Entity;
}

public interface IUnitOfWork …
Run Code Online (Sandbox Code Playgroud)

c# abstraction entity-framework dependency-injection mongodb

5
推荐指数
1
解决办法
1951
查看次数

在Windows 10上运行dot net 3.5应用程序

我创建了一个WPF应用程序,它应该在Windows 7,8,8.1,10上本机运行.

在Visual Studio中,我将.NET Framework设置为3.5,因为它与Windows 7捆绑在一起.但是,当我在Win10上运行它时,它会提示安装.NET 3.5,因为Win10与4.6捆绑在一起,默认情况下没有安装3.5 .

如何在所有Windows版本> = 7上运行我的应用程序而不从Windows获得任何提示并且不安装任何内容?

.net c# wpf .net-4.0 .net-3.5

5
推荐指数
1
解决办法
2896
查看次数

循环周基于文化信息

如何基于文化信息循环整周(星期一 - 星期日),所以在我的情况下,星期一将是一周的第一天?是否有可能同时找到int当天的价值?

对于一些信息:我需要这样做,以便为商店开出一些营业时间.

c# asp.net datetime cultureinfo

4
推荐指数
1
解决办法
3203
查看次数

将多个DbContexts与通用存储库和工作单元一起使用

我的应用程序越来越大,到目前为止,我有一个单独的MyDbContext应用程序所需的所有表.我希望(有关概述的缘故),以它们分开成多个DbContext,比如MainDbContext,EstateModuleDbContext,AnotherModuleDbContextUserDbContext.

我不确定这是怎么做的可能因为我现在正在使用dependecy injection(ninject)将我的DbContext放在我的UnitOfWork类上,如:

kernel.Bind(typeof(IUnitOfWork)).To(typeof(UnitOfWork<MyDbContext>));
Run Code Online (Sandbox Code Playgroud)

我应该通过依赖注入和显式设置放弃这种方法,DbContext我希望在我的服务上使用,例如:

private readonly EstateService _estateService;

public HomeController()
{
    IUnitOfWork uow = new UnitOfWork<MyDbContext>();
    _estateService = new EstateService(uow);
}
Run Code Online (Sandbox Code Playgroud)

代替:

private readonly EstateService _estateService;

public HomeController(IUnitOfWork uow)
{
    _estateService = new EstateService(uow);
}
Run Code Online (Sandbox Code Playgroud)

或者这有另一种更好的方法吗?另外作为一个附带问题,我不喜欢传递uow给我的服务 - 还有另一个(更好的)方法吗?

我有这个IDbContext和MyDbContext:

public interface IDbContext
{
    DbSet<T> Set<T>() where T : class;

    DbEntityEntry<T> Entry<T>(T entity) where T : class;

    int SaveChanges();

    void Dispose();
}

public …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework unit-of-work repository-pattern dbcontext

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

订阅类别流,事件永远不会出现在订阅客户端中

作为GetEventStore的第一次用户并阅读了文档,我遇到了一个问题,即事件从未出现在我的订阅客户端上。

由于我错过了一个配置步骤,这是可能的。

拥有此控制台应用程序客户端:

public class EventStoreSubscriptionClient : ISubscriptionClient
{
    private const string GroupName = "liner";
    private const string StreamName = "$ce-happening";

    private readonly IProvideEventStoreConnection _eventStoreConnection;
    private readonly UserCredentials _userCredentials;

    private EventStorePersistentSubscriptionBase EventStorePersistentSubscriptionBase { get; set; }

    public EventStoreSubscriptionClient(IProvideEventStoreConnection eventStoreConnection, UserCredentials userCredentials)
    {
        _eventStoreConnection = eventStoreConnection;
        _userCredentials = userCredentials;
    }

    public void Connect()
    {
        var connection = _eventStoreConnection.ConnectAsync().Result;
        EventStorePersistentSubscriptionBase = connection.ConnectToPersistentSubscription(
               StreamName,
               GroupName,
               EventAppeared,
               SubscriptionDropped,
               _userCredentials,
               10,
               false
        );
    }

    private void SubscriptionDropped(EventStorePersistentSubscriptionBase subscription, SubscriptionDropReason reason, Exception ex)
    { …
Run Code Online (Sandbox Code Playgroud)

c# cqrs event-sourcing eventstoredb

4
推荐指数
1
解决办法
718
查看次数

获取没有边的节点

我在图中有大量节点,并且通过一些过滤器,我可以使用cy.remove(myCollection).

有时会发生一个节点的所有边都被删除,因此它单独放置而没有边。Cytoscape 有没有办法在没有边的情况下找到这些节点?

我在外面的事情是这样的:

cy.nodes(/*:inside*/).filter(node => node.connectedEdges().size() === 0)
Run Code Online (Sandbox Code Playgroud)

但这会返回一个空集合?

javascript cytoscape.js

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