小编Cor*_*use的帖子

允许某个类别拥有多个父母是否有意义?还有替代品吗?

简短问题:如何管理出现在多个类别下的产品类别?完全这样做是不好的做法?

背景信息: 我们有一个产品数据库,其类别如下:

Products

  -Arts and Crafts Supplies
    -Glue
    -Paper Clips
    -Construction Paper


  -Office Supplies
    -Glue
    -Paper Clips
Run Code Online (Sandbox Code Playgroud)

请注意,胶水和纸夹分配给两个类别.虽然它们出现在此类别树中的两个不同位置,但它们在数据库中具有相同的类别ID.为什么?两个原因:

  1. 为类别分配属性 - 例如,回形针可以具有重量,材料,颜色等.
  2. 分配到胶水类别的产品显示在工艺品和办公用品下.这是预期的 - 它们与数据库中的实际类别ID相同.

这允许我们管理单个类别及其属性和分配的产品,但将其放置在类别树中的多个位置.

我们使用的是嵌套集模型,因此我们用来支持它的db结构是:

Category
----------
CategoryID
CategoryName


CategoryTree
------------
CategoryTreeID
CategoryID
Lft
Rgt
Run Code Online (Sandbox Code Playgroud)

因此,Category和CategoryTree之间存在1:M,因为类别树中可能存在给定类别的多个实例.

有没有更简单的方法来模拟这个允许产品类别显示在多个类别下?

database database-design nested-sets categories

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

参考没有强名称的汇编

有没有办法引用没有强名称的库?当我在引用中添加对程序集的引用并重建解决方案时,一切都很好,但是当我从这个程序集解决方案调用该类时,它不会构建.

输出表示引用的程序集应具有强名称.什么是最好的解决方案?强命名库不是首选.

.net c# .net-assembly

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

Web服务还是DLL?

我正在创建一个应用程序,需要由内部网络上托管的Web前端访问,并且还作为计划任务运行.在我们的内部系统之外不需要访问任何内容,一旦应用程序启动并运行,我们就不会想到任何改变一段时间了.

我最初的想法是创建一个封装大量必要功能的DLL,然后通过Web Forms接口进行手动执行,以及作为自动(每日)计划任务运行的控制台应用程序.

另一个建议是为核心功能公开Web服务,但由于应用程序永远不需要被外部资源调用,我认为实现Web服务所需的额外工作可能不值得麻烦.DLL解决方案也应该快得多(?).

我的问题是你会选择哪条路线?我有没有涉及的优点/缺点?有任何明显的遗漏吗?

免责声明:我是.Net的新手,但由于我们的一位开发人员遇到了严重的事故,我被要求站出来.

.net architecture web-services

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

Web开发人员:首先实现代码或设计?

什么是第一个?在概述和批准设计之后,设计人员是否应该使用HTML创建页面,然后将其交给开发人员添加代码?或者开发人员应该构建可以工作的简单页面并将其交给设计人员吗?

我总是做完后者,但最近与一位设计师合作,他用HTML构建了一个完整的网站,然后交给我使其工作.我发现它节省了大量时间有三个原因:

  1. 开发人员不必创建所有表单域和基本布局.
  2. 设计师不必将所有"丑陋"的页面重新设计成具有吸引力的东西,而是从一个更快的干净网站开始.
  3. 代码不会被设计者意外破坏.我发现设计人员更有可能打破代码做他们的工作,而不是开发人员破坏设计添加后端功能.

简而言之,如果设计师首先完成他的工作,那么很少有返工.我只是做了看起来很棒的实际工作.

哪个是最佳做法?看其他加分和减价?

编辑:假设设计师和开发人员已就拟议的设计达成一致.

coding-style designer

9
推荐指数
2
解决办法
2188
查看次数

Jquery无限滚动 - 使用div而不是body的滚动条

假设我有div,我想获取数据并将数据推入该div.当用户在div中滚动时,将获取下一组数据并将其推送到div中.如何使用jQuery检测滚动条位置?我不想使用任何插件.我需要jQuery代码.这是一个示例链接,如ahttp://www.stevefenton.co.uk/cmsfiles/assets/File/infinitescroller.html但它使用了一个插件.

jquery

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

专业开发人员通常应避免使用.Net框架的哪些组件?

.Net是一个庞大的框架,其中一些功能似乎针对初学者,如果涉及大量定制则会成为问题.那么.Net框架中的哪些功能你认为专业开发人员应该避免以及为什么?

例如,.Net有一个用于常见用户管理功能的向导.使用此功能是否适合专业用途或仅适合初学者?

每个答案都有一个组件/功能/类等,所以投票是针对单个项目的.

.net c# vb.net

8
推荐指数
2
解决办法
770
查看次数

Mysql存储过程中的可选参数

如何在mysql存储过程中创建可选参数?

mysql

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

如何在不暴露物理路径的情况下在线提供可下载文件?

我正在提供要求用户在下载前注册的文档.目前,一旦注册并登录,文档的链接显示为:

myurl.com/docs/mypdf.pdf
Run Code Online (Sandbox Code Playgroud)

因此,文档的物理路径会向登录的任何人公开.保持文档的物理路径隐藏的最佳做法是什么,以便注册用户无法与未注册用户共享直接链接或在其他地方发布直接链接到文档?

编辑:我只是在寻找与语言无关的想法,所以我选择了一些我最喜欢的语言作为标签.这种情况下的实际实现是ASP经典.我目前正在使用下载包装器脚本,该脚本确认用户在重定向到实际文档URL之前已登录.为简单起见,我只是没有把它包含在我的问题中.

php c# asp-classic

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

你会如何改进这个简单的类以更松散地耦合?

正如您在下面看到的,在构造函数中我实例化了一个验证对象,因此我可以在set方法中验证用户的电子邮件.这种架构是最佳实践还是有缺陷的?我可以避免让我的User类直接依赖于我的Validation类吗?

Class User {
  Private Email

//constructor
User() {
  Validation = new Validation
}

SetEmail(NewValue) {
  if (Validation.isEmail(NewValue)) {
    Email = NewValue
  }
}
Run Code Online (Sandbox Code Playgroud)

还有一个相关的问题:当set方法收到无效值时,什么是正确的响应?我看到2个选项

  1. 不要设置值并返回false
  2. 无论如何设置值,但为对象设置error属性.(如果设置了User.Error,我知道出了问题)

我怀疑#1是最佳实践,因为您可以确保任何对象属性的值始终有效.正确?

oop coupling

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

使用Entity framework 5和VS 2012,DbContext代码生成策略失败

我在.NET framework 4.5(VS 2012)中有一个WPF项目,并使用NuGet包下载了Entity Framework 5.解决方案.所有关于Entity Framework 5的文档都说默认代码生成策略None(即DbContext代码生成).但就我而言,在添加新的ADO.Net实体数据模型时,代码生成策略默认的(即EF设计器生成派生自ObjectContext的上下文类和从EntityObject派生的实体类.)但我想遵循DbConext代码生成机制.我正在遵循Database First方法.我错过了任何设置吗?还是我需要单独安装T4模板?

谢谢.

c# dbcontext .net-4.5 entity-framework-5 visual-studio-2012

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