小编Nar*_*esh的帖子

实体VS域模型VS视图模型

关于这个主题有数百个类似的问题.但我仍然感到困惑,我想得到专家的建议.

我们正在使用ASP.NET MVC 4和EF5开发应用程序,我们的数据库是第一种方法.

我们在一个单独的项目中有数据层,该项目是一个类库,并包含在其中定义的所有实体.然后使用所有存储库和域模型定义业务层(是要使用的正确术语).然后是表示层.

目前我们还没有定义任何视图模型,我们使用BL中的相同域模型作为视图模型.在这种方法中,一个映射就足够了.

ENTITY <=> DOMAIN模型

但对我来说,它看起来并不像一个好的设计.我更喜欢在表示层中定义视图模型,并使用域模型在表示层和业务层之间进行通信.在BL,将域对象转换为数据实体并与DAL通信.使用这种方法我必须使用两次映射.

查看模型<=>域模型<=> ENTITY

我的域名模型真的有必要吗?我不能使用我的实体与Presentation层进行通信.如果我在表示层中引用实体,是否会产生任何影响?如果有什么样的影响?

c# architecture asp.net-mvc design-patterns entity-framework

45
推荐指数
3
解决办法
3万
查看次数

C#中的Java Robot类等效代码

有人可以帮助我将以下java代码转换为C#.

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_WINDOWS);
robot.keyRelease(KeyEvent.VK_M);
Run Code Online (Sandbox Code Playgroud)

我知道我们必须使用'user32.dll'.但我不确定我们要调用哪种方法.

c# java

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

如何在ASP.Net MVC3中实现打印

作为给定项目列表中当前任务的一部分,用户可以选择其中一些项目并调用"打印"而不选择所选项目.

对于每个选定的项目,我们需要打印详细信息.它类似于在销售系统中打印所选项目的发票.

我创建了一个部分视图来编写每个记录的详细信息,但我不确定如何按照我的要求使用它.

我可以在document.ready上调用jQuery print来实现我的要求吗?

正如@Levib建议的那样,在我的PrintView中调用部分视图.PrintView的document.reay函数调用window.print.但是当我尝试调用"打印"时,我看不到打印对话.

这是我的看法,

@section Styles
{
    <link rel="stylesheet" href="AdminStyle.css" type="text/css" media="all" />
    <link rel="stylesheet" href="AdminPrintOrder.css" type="text/css" media="print" />
}

@foreach (var item in Model)
{
    <div id="content" style="page-break-before: always">
        @{Html.RenderPartial("_OrderDetailView", item);}
    </div>   
}

@section scripts
{
    <script type="text/javascript">
        $(document).ready(function () {
            debugger;
            window.print();
        });
    </script>
}
Run Code Online (Sandbox Code Playgroud)

我的打印调用者视图是

 function printInvoices(){
            $.ajax({
                type: 'POST',
                url: '/Batch/PrintInvoices',
                data: '{ "allocationId" : "' + unSelected.toString() + '"}',
                contentType: "application/json; charset=utf-8",
                traditional: true,
                success: printedView,
                error: errorInSubscribing
            });
        }
Run Code Online (Sandbox Code Playgroud)

我是否需要处理ajax reposne来填充打印对话框. …

c# asp.net-mvc jquery jquery-ui asp.net-mvc-3

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

使用Unity Container时,没有为此对象异常定义无参数构造函数

我在trynig加载视图时遇到上述异常.

我正在使用Unity来初始化我的控制器实例.仍然得到上述错误.

这是我的控制器.

public class SiteController : Controller
{

    private ISiteRepository _repository;

    public SiteController(ISiteRepository repository)
    {
        _repository = repository;
    }

    //
    // GET: /Site/

    public ActionResult Index()
    {
        return View();
    }

    //
    // GET: /Site/Details/5

    public ActionResult Details(int id)
    {
        return View();
    }}
Run Code Online (Sandbox Code Playgroud)

这是我的Global.asax.cs

protected void Application_Start()
    {
        ConfigApi(GlobalConfiguration.Configuration);
        AreaRegistration.RegisterAllAreas();

        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);
    }

    static void ConfigApi(HttpConfiguration config)
    {
        var unity = new UnityContainer();
        unity.RegisterType<SiteController>();
        unity.RegisterType<ISiteRepository, SiteRepository>(new HierarchicalLifetimeManager());

        config.DependencyResolver = new IocContainer(unity);
    }
Run Code Online (Sandbox Code Playgroud)

这是我的SiteRepository类.

public class SiteRepository:ISiteRepository
{
    private readonly …
Run Code Online (Sandbox Code Playgroud)

ioc-container unity-container c#-4.0 asp.net-mvc-3

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

如何将数字分成多个部分,使得结果总和等于输入?

我试图将一个数字分成多个部分,因此该部分的总和等于输入数字.

如果我有3.99并且如果我需要分成两部分,则预期输出为2和1.99(2 + 1.99 = 3.99)

如果我需要将3.99分成3个部分,预期输出为1.3,1.3和1.39(1.3 + 1.3 + 1.39 = 3.99)

我能够输出2.99和1作为第一个例子,我能够得到1.99,1和1作为第二个例子.但是,在这两种情况下,结果与预期产出相差甚远.

我需要将邮寄费用分成不同的订单项.结果可以等分或不等分,同时确保不同部分的总和等于输入数.

以下是其他一些例子:

3.99 divided in 3 parts: 1.33, 1.33, 1.33
3.98 divided in 3 parts: 1.33, 1.33, 1.32
3.97 divided in 3 parts: 1.32, 1.32, 1.33
3.96 divided in 3 parts: 1.32, 1.32, 1.32
3.95 divided in 3 parts: 1.32, 1.32, 1.31
Run Code Online (Sandbox Code Playgroud)

c#

9
推荐指数
1
解决办法
8898
查看次数

托管ASP.Net web api并从另一个MVC应用程序中使用

我是ASP.Net MVC和ASP.Net web api的新手.

我从事过Web服务并且使用它们.

但我不知道如何托管ASP.Net web api并从另一个ASP.Net MVC应用程序中使用它.我找到了一些人们正在使用同一项目中的api的示例.在现实世界中,我真的怀疑用法仅限于一个项目.

有些人可以发一些可以解释相同的例子或链接吗?

asmx asp.net-mvc-3 asp.net-web-api

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

从nodejs执行批处理文件

是否可以从nodejs应用程序运行批处理文件?

谷歌搜索一段时间后,我们可以child_process用来执行命令.尝试了相同的模块但没有成功.

有人可以指导我吗?

batch-file node.js express

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

在Entity Framework中使用数据库第一种方法

我是MVC的新手,也是使用EF的新手.在我们的应用程序中,我们使用Database first方法.由于我们正在使用DB第一种方法,我们正在从db中生成edmx.

当我生成edmx时,它会为我的数据库中的表生成所有相关的类别.在这里,我只是混淆了是否直接使用我的视图中生成的类,或者我应该在EF生成的类之上再创建一层类,并从我的控制器和视图中使用它们.

如果我在实体之上再创建一层类,我必须在这些类之间进行映射.我怀疑如果模型有任何变化,将来可能会很痛苦.

如果我直接使用控制器中的实体,我觉得我将所有不必要的东西暴露给控制器和视图.

有人可以告诉我如何继续这个吗?

orm entity-framework c#-4.0 asp.net-mvc-3 asp.net-mvc-4

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

C#中的排序列表

我有一个自定义类型列表.而自定义类型是

public class PossibleMatch
    {
        public PossibleMatch()
        {
            StoreIds = new List<long>();
            OrderLineIds = new List<long>();
        }
        public IList<long> StoreIds { get; set; }
        public IList<long> OrderLineIds { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

我必须以这样一种方式对列表进行排序,其中商店数量较少,订单行数量应该在顶部.

提前致谢.

c# collections list arraylist c#-4.0

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

将ListBox与MVC3中的模型绑定

我的模特是

public class SiteConfig
{
    public SiteConfig()
    {

    }

    public int IdSiteConfig { get; set; }
    public string Name { get; set; }
    public byte[] SiteLogo { get; set; }
    public string Brands { get; set; }
    public string LinkColour { get; set; }

    public IEnumerable<SiteBrand> SiteBrands { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

public class SiteBrand
{
    public int Id { get; set; }
    public int SiteId { get; set; }
    public int BrandId { get; set; }

    public Brand …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc-areas c#-4.0 asp.net-mvc-3 ef-database-first asp.net-mvc-4

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