小编Geo*_*uer的帖子

重构过时的数据库模式的提示

每个开发人员的噩梦都是陷入不再反映数据模型的遗留数据库模式.然而,由于所有关于为可维护性重构代码的讨论,我都没有听说过重构过时的数据库模式.

有关如何在不破坏依赖旧代码的所有代码的情况下过渡到更好的架构的一些提示?我将提出一个具体的问题,我必须说明我的观点,但随意提供其他已证明有用的技术建议 - 这些技术也可能派上用场.


我的例子:

我的公司收到并运送产品.现在产品收据和产品装运有一些非常不同的数据,因此原始数据库设计者为收据和装运创建了一个单独的表.

在我使用这个系统的一年中,我已经意识到当前的架构并没有侥幸.毕竟,收据和货件基本上都是一个交易,它们各自涉及改变产品的数量,但只有+/-符号不同.实际上,我们经常需要找到产品在一段时间内发生变化的总量,这个问题对于这种设计来说是完全难以解决的.

显然,适当的设计是拥有一个Transactions表,其中Id是ReceiptInfo或ShipmentInfo表的外键.不幸的是,错误的模式已经在生产中使用了几年,并且有数百个存储过程,并且有数千行代码从中写出来.那么如何才能将模式转换为正常工作?

database schema refactoring

14
推荐指数
1
解决办法
2749
查看次数

如何将参数传递给DbMigration.Sql()方法

使用实体框架迁移时,DbMigration基类具有一个Sql方法,该方法接受匿名对象中的参数

我不能为我的生活弄清楚如何使用它.

        Sql(@"
                UPDATE dbo.SlideSets 
                SET Name = @Name, 
            ", false, new {
                Name = "Foo"
            }
        );
Run Code Online (Sandbox Code Playgroud)

导致错误

System.Data.SqlClient.SqlException (0x80131904): Must declare the scalar variable "@Name"
Run Code Online (Sandbox Code Playgroud)

这个陈述的正确语法是什么?

c# syntax entity-framework ef-migrations

14
推荐指数
2
解决办法
4270
查看次数

如果然后如何使用在水晶报告公式中构建一个字符串

顺便说一句,这是Visual Studio 2003中的Crystal Reports 9

关于水晶报告公式语法的简单问题:如何使用if then子句构建公式的结果?

具体来说,我想要这样的事情:

dim val as string
val = {table.level}
if {table.uom_id} = 5 then 
  val = val & ' feet'
else
  val = val $ ' meters'
end if
Run Code Online (Sandbox Code Playgroud)

和val应该是公式的结果.

只要我们在这里,有没有写这些的捷径?这些是非常冗长的,三元运算符将非常受欢迎.

syntax crystal-reports

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

总新手:ruby中的实例变量?

请原谅newbiew的总问题,但为什么@game_score总是为零呢?

#bowling.rb

class Bowling
  @game_score = 0
    def hit(pins)
        @game_score = @game_score + pins
    end

    def score
        @game_score
    end
end
Run Code Online (Sandbox Code Playgroud)

ruby instance-variables

13
推荐指数
3
解决办法
4128
查看次数

在没有bash的情况下将git连接到Windows 7上的github

我正在我的新Windows 7机器上设置git,而且当我要让github确认我的ssh密钥时,我遇到了障碍.我正在做一些与标准脚本有点不同的事情,因为我宁愿不使用cygwin而更喜欢使用我的powershell提示符.以下是我的所作所为:

  1. 我安装了msysgit(便携式).
  2. 我去了C:\ program files\git\bin并使用ssh-keygen生成一个公共/私有ssh密钥对,我把它放在c:\ Temp中
  3. 然后我在c:\ Users\myusername \(在Windows 7上)创建了一个名为.ssh \的目录
  4. 我将ssh-keygen(id_rsa和id_rsa.pub)生成的文件移动到.ssh目录中
  5. 我在github上访问了我的帐户,创建了一个新的公钥,将id_rsa.pub的内容复制粘贴到其中并保存
  6. 我现在转到我的powershell提示符,set-alias git'C:\ program files\git\bin\git.exe'
  7. 我现在尝试克隆git@github.com:togakangaroo/ps-profile.git拒绝我的身份验证:

    权限被拒绝(publickey).致命:远程端意外挂断

过去的经验表明,这意味着git无法识别我的钥匙.我错过了哪些步骤?

我有一种感觉,我需要以某种方式配置git,以便它知道我的ssh键在哪里(虽然它看起来应该自动查看)但我不知道该怎么做.

另一个可能的线索是,当我尝试运行git config --global user.name"George Mauer"时出现错误

fatal: $HOME not set
Run Code Online (Sandbox Code Playgroud)

但我设置了一个HOME环境用户变量,其值为%HOMEDRIVE %% HOMEPATH%

git ssh powershell github windows-7

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

ssh-keygen - 如何使用特定用户名设置rsa密钥

我刚刚安装了ubuntu,并希望用bitbucket/github设置其rsa密钥.当我使用ssh-keygen时,密钥会按原样生成

ssh-rsa AA...yBEz3pLL georgemauer@ubuntu
Run Code Online (Sandbox Code Playgroud)

这是完全可用的,除了用户名部分.在我之前生成的每个rsa密钥中,用户名部分读取了我的电子邮件地址:

ssh-rsa AA...yBEz3pLL gmylastname@gmail.com
Run Code Online (Sandbox Code Playgroud)

不,这不是一个主要的障碍,但如果我没有做到这一点,它会让我发疯.如何使用我选择的电子邮件用户名生成rsa密钥?

linux ssh ubuntu rsa ssh-keys

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

在C#中是否有Sizzle/jQuery选择器实现?

我需要能够在我的C#应用​​程序中简单地指定html中的元素.我只是将Linq用于Sql,但这需要可配置/可序列化为字符串.我当然可以使用XPath,但在这一点上像Sizzle这样的东西对大多数人来说更加自然.

任何人都知道.Net中是否存在sizzle选择器实现?

.net html xml css-selectors sizzle

13
推荐指数
1
解决办法
1809
查看次数

ReactJs是否在凉亭上?

我对ReactJs中的一些概念很感兴趣,并且想要玩它.我正在尝试开始一个项目来玩它,但我一直在寻找,我似乎无法在凉亭上找到它.但是再次bower搜索有点糟糕......

它在那里,我只是没有看到它?如果它有什么东西使它不适合凉亭模型?我希望这两个项目都很受欢迎,他们可以一起工作.

bower reactjs

13
推荐指数
1
解决办法
9679
查看次数

具有插件式系统的EF多上下文.如何在运行时应用迁移?

我有一个Web应用程序,它应该被组成一系列插件到核心基础结构中.插件是一个已编译的CLR dll +一些内容文件,它们将放在某个位置.我正在使用Autofac扫描和注册程序集中的类型,以及一些奇特的路由来从那里为控制器和资产提供服务.但是,由于每个插件程序集都可以包含一个DbContext(按照惯例,每个都将使用自己的数据库),我无法弄清楚该做什么.

现在我已经找到了很多关于如何使用多个上下文的东西,但这一切都需要知道这些在开发时会是什么.我的应用程序不知道在运行时之前将使用哪些上下文.

我正在寻找理想的是想要做某些事情

ApplyMigrations<MyDbContext, MyDbConfiguration>();
Run Code Online (Sandbox Code Playgroud)

虽然我也不得不提供一组有序的迁移来应用(如果使用显式迁移).

我目前绊倒的地方是标准

Database.SetInitializer(...)
Run Code Online (Sandbox Code Playgroud)

因为它是一个静态单例,我系统中的每个dbcontext都有自己的初始化程序.

c# entity-framework ef-migrations

13
推荐指数
1
解决办法
250
查看次数

Expressjs服务器地址主机什么都不返回

按照标准的ExpressJs hello word示例,我得到一个':::'的主机.

为什么会这样?

你好的例子:

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});
Run Code Online (Sandbox Code Playgroud)

我找到了一个在port参数后添加'localhost'的提示.当我只看我的电脑时,它解决了,但它无法通过网络工作.我该怎么办?

javascript node.js express

13
推荐指数
2
解决办法
5497
查看次数