小编drz*_*aus的帖子

实体框架 - 重新开始 - 撤消/回滚所有迁移

出于某种原因,我的迁移似乎是混乱/损坏/无论如何.我只是想重新开始,所以有没有办法彻底撤消所有迁移,删除历史记录,删除迁移代码,所以我回到原点?

例如)PM> Disable-MigrationsRollback-Migrations

我不想"更新"到原始的迁移步骤(比如InitialSchema目标),因为我再也找不到它了.

entity-framework ef-migrations entity-framework-4.3

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

自动构建NuGet包,包括引用的依赖项

我想运行本地/内部NuGet存储库.我想我已经想出了如何"重用"现有的NuGet包,方法是将它们包含在使用NuGet的虚拟项目中,并扫描包文件以获取我的本地缓存.nupkg文件,但......

如何.nupkg从项目中创建nuget package(),自动包含所有 dll依赖项,而不仅仅是通过NuGet获取的依赖项?

特别:

  1. 创建解决方案
  2. 添加一个新项目
  3. 添加对各种.dll文件/其他项目的引用< - 这是缺少的部分
  4. 通过包管理器/ cmdline/whatever添加NuGet包
  5. 东西自动创造了.nupkg

从我发现的,你应该做的事情

  • 手动编辑您.csproj要添加的文件<BuildPackage>true</BuildPackage>以包含依赖项
  • 手动创建一个.nuspec文件并手动列出你的依赖项(类似吗?)
  • 手动运行nuget pack您的.nuspec文件

但一切都是手工的,这是愚蠢的.即使是半自动解决方案仍然是笨拙或半手动:

我会满足于.nuspec从项目引用中自动创建清单的东西.然后理论上+ nuget构建事件可以汇总到构建项目/ nuget包中,这是我真正想要看到的.

build-automation visual-studio nuget nuget-package

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

实体框架代码首先使用Guid作为另一个标识列的标识

如何在Code First中创建多个标识列?

由于群集性能,常见的建议是使用自动增量整数列而不是使用创建的GUID newid().

要将列声明为自动增量,必须使用注释指定它[DatabaseGenerated(DatabaseGeneratedOption.Identity)].

但是,您只能在表格中拥有一个身份.

所以从基础模型开始,如:

public abstract class ModelBase {
    // the primary key
    public virtual Guid Id { get; set; }

    // a unique autoincrementing key
    public virtual int ClusterId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我们如何设置它以便:

  1. Guid 由数据库自动生成,而不是代码
  2. ClusterId 是自动增量的
  3. Entity Framework Code First不会抛出各种错误,例如:
    • 不支持对主键列具有属性"StoreGeneratedPattern"设置为"已计算"的表的修改.请改用"身份"模式.

仅供参考,如果你想在代码中自动生成它,你可以跳过Id字段上的注释并执行以下操作:

public abstract class AbstractContext : DbContext {

  /// <summary>
  /// Custom processing when saving entities in changetracker
  /// </summary>
  /// <returns></returns>
  public override int …
Run Code Online (Sandbox Code Playgroud)

entity-framework ef-code-first ef-migrations entity-framework-5

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

如何使用多因子加权排序提供最相关的结果

我需要对2+个因子进行加权排序,按"相关性"排序.然而,这些因素并非完全孤立,因为我希望一个或多个因素影响其他因素的"紧迫性"(权重).

示例:贡献的内容(文章)可以上/下投票,因此具有评级; 他们有一个发布日期,他们也被标记为类别.用户撰写文章并可以投票,并且可能有也可能没有自己的某种排名(专家等).可能与StackOverflow类似,对吧?

我想为每个用户提供按标签分组但按"相关性"排序的文章列表,其中相关性是根据文章的评级和年龄计算的,并且可能受作者排名的影响.IE是几年前写的一篇排名很高的文章可能不一定像昨天写的中等文章一样重要.也许如果一篇文章是由专家撰写的,那么它将被视为比"Joe Schmoe"所写的文章更具相关性.

另一个很好的例子是为酒店分配一个由价格,评级和景点组成的"元评分".

我的问题是,多因素排序的最佳算法是什么?这可能是该问题的重复,但我对任意数量因素的通用算法感兴趣(更合理的期望是2 - 4个因素),最好是我不需要的"全自动"功能调整或要求用户输入,我无法解析线性代数和特征向量古怪.


到目前为止我找到的可能性:

注意:S是"排序分数"

  1. "线性加权" - 使用如下函数:,其中任意指定权重,并且是因子的值.你也想要标准化(即).我认为这有点像Lucene搜索是如何工作的.S = (w1 * F1) + (w2 * F2) + (w3 * F3)wxFxFFx_n = Fx / Fmax
  2. "Base-N加权" - 更像是分组而不是加权,它只是一个线性加权,其中权重增加了基数10的倍数(与CSS选择器特异性相似的原则),因此更重要的因素显着更高: .S = 1000 * F1 + 100 * F2 …

sorting algorithm bayesian relevance weighted-average

29
推荐指数
2
解决办法
8999
查看次数

Git - 包含来自其他存储库的文件

使用Git,我想在我的项目中包含一些常见的JS/CSS库和/或实用程序方法(即来自另一个repo的特定文件),我希望它能让它们始终保持最新状态.我真的不想要整个远程存储库.如果我可以处理远程文件的"本地副本"并将更改重新推送,则可以获得奖励.

一个有点平行的例子:在ASP.NET中,我会通过引用("远程")其他库的.dll文件(没有"copy local")来做到这一点,这样每当我重新编译外部库时,我的项目就会指向最新的版本.

示例场景

我的项目是...... MyProject,我只想要外部存储库ExternalLibraryExternal2中的几个文件.我不想在其他地方克隆每个存储库,并将文件复制粘贴到我的存储库中.如果我做了改进MyProject/scripts/common1.js,我想把它推回到ExternalLibrary.

  1. 我的项目/
    • 的index.html
    • 脚本/
      • mycode.js
      • otherplugin.js
      • common1.js < - 来自ExternalLibrary
      • plugin2.js < - 来自ExternalLibrary
    • 风格/
      • mystyle.css
      • common.css < - 来自External2
  2. ExternalLibrary /
    • common1.js
    • plugin1.js
    • plugin2.js
    • bunchofothercrap ...
  3. External2 /
    • common.css
    • bunchofothercrap ...

相关参考:

git workflow organization

19
推荐指数
1
解决办法
7057
查看次数

SVN Diff:为什么有些文件被标记为二进制文件

直接相关: svn diff:文件标记为二进制类型 (根据答案的评论)

为什么我的SVN客户端会将某些文件标记为二进制?

具体来说,使用TortoiseSVN时.sql有道具svn:mime-type = application/octet-stream.

我查了一下右键单击>龟上下文菜单>设置>常规> Subversion配置文件,并没有什么是注释掉[miscellany][auto-props],所以其中的决定是从哪里来的?

从我在相关帖子中看到的内容,我可以通过删除受影响文件的属性来"修复它",或者通过配置/设置全局更改新文件的行为,但是有两种"简单"方法可以所有受影响的文件

有点相关:

svn diff tortoisesvn file-type mime-types

18
推荐指数
2
解决办法
5854
查看次数

AWS IAM - 您可以在值中使用多个通配符(*)吗?

在所有IAM策略示例中,他们都提到使用通配符(*)作为"stuff"的占位符.但是,示例总是在最后使用它们,和/或仅使用一个通配符进行演示(例如,列出文件夹"xyz"中的所有内容.../xyz/*).

我找不到任何关于使用多个通配符的确定性,例如匹配多个存储桶中子文件夹中的任何内容:

arn:aws:s3:::mynamespace-property*/logs/*

允许某些内容log在"production"(mynamespace-property-prod)和"sandbox"(mynamespace-property-sand)存储桶中查看任何文件.

amazon-s3 amazon-web-services amazon-iam

17
推荐指数
3
解决办法
9258
查看次数

以关系表的形式检索MySQL EAV结果的最佳性能是什么

我想提取从EAV(实体属性值)的表,或更具体实体的元数据表的结果(认为像WordPress wp_postswp_postmeta),为"很好的格式化的关系表",以做一些排序和/或过滤.

我已经找到了一些如何在查询中格式化结果的示例(而不是编写2个查询并在代码中加入结果),但我想知道"最有效"的方法,特别是对于更大的结果集.

当我说"效率最高"时,我的意思是出现以下情况:

获取姓氏为XYZ的所有实体

返回按生日排序的实体列表


转过来:

** ENTITY **
-----------------------
ID  | NAME | whatever
-----------------------
 1  | bob  | etc
 2  | jane | etc
 3  | tom  | etc

** META **
------------------------------------
ID | EntityID | KEY         | VALUE
------------------------------------
 1 |   1      | first name  | Bob
 2 |   1      | last name   | Bobson
 3 |   1      | birthday    | 1983-10-10
 . |   2      | first name  | Jane …

mysql performance database-design pivot entity-attribute-value

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

获取文档中的所有链接

鉴于Google文档/云端硬盘中的"普通文档"(例如段落,列表,表格)包含分散在整个内容中的外部链接,您如何使用Google Apps脚本编制链接列表?

具体来说,我想通过在每个URL中搜索oldText来更新文档中所有损坏的链接,并将其替换为每个URL中的newText,而不是文本.

我不认为开发文档的替换文本部分是我需要的 - 我是否需要扫描文档的每个元素?我可以编辑AsText并使用html正则表达式吗?例子将不胜感激.

google-docs google-apps-script

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

Visual Studio导入文件系统的.publishsettings

在哪里/如何创建.publishsettings文件,以便为所有本地测试部署导入通用配置?

我想通过Visual Studio将本地另一个站点发布到我的计算机上C:\Webs\TheSite.每次我为新网站执行此操作时,我都必须创建一个新的自定义配置文件,然后单击所有复选框等.

我宁愿从导入预先配置的.publishsettings文件开始,只需更改TheSite目标路径.

但是,我只能找到Azure和FTP/WebDeploy的说明:

asp.net publishing visual-studio

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