小编Dan*_*rod的帖子

实体框架多对象上下文

这个问题已经以50种不同的方式被问到了500个不同的时间......但是这里又一次,因为我似乎无法找到我正在寻找的答案:

我正在使用EF4和POCO代理.

答:我有一个从ObjectContext的一个实例中获取的对象图.该ObjectContext被释放.

B.我有一个从ObjectContext的另一个实例获取的对象.ObjectContext也被处理掉了.

我想在A中使用B中的实体设置一堆相关的属性....类似于

foreach(var itemFromA in collectionFromA)
{
   itemFromA.RelatedProperty = itemFromB;
}
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我得到了例外:

System.InvalidOperationException occurred
  Message=The relationship between the two objects cannot be defined because they are attached to different ObjectContext objects.
  Source=System.Data.Entity
  StackTrace:
       at System.Data.Objects.DataClasses.RelatedEnd.Add(IEntityWrapper wrappedTarget, Boolean applyConstraints, Boolean addRelationshipAsUnchanged, Boolean relationshipAlreadyExists, Boolean allowModifyingOtherEndOfRelationship, Boolean forceForeignKeyChanges)
       at System.Data.Objects.DataClasses.RelatedEnd.Add(IEntityWrapper wrappedEntity, Boolean applyConstraints)
       at System.Data.Objects.DataClasses.EntityReference`1.set_ReferenceValue(IEntityWrapper value)
       at System.Data.Objects.DataClasses.EntityReference`1.set_Value(TEntity value)
       at 
Run Code Online (Sandbox Code Playgroud)

我想我需要将这些实体从ObjectContexts中分离出来,以便上面的代码可以工作......问题是,当它处理时从我的ObjectContext中分离所有实体似乎会破坏图形.如果我这样做:

objectContext.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified | EntityState.Unchanged)  
.Select(i => i.Entity).OfType<IEntityWithChangeTracker>().ToList()  
.ForEach(i => objectContext.Detach(i));
Run Code Online (Sandbox Code Playgroud)

图中的所有关系似乎都未被设置.

我怎样才能解决这个问题?

.net c# architecture entity-framework entity-framework-4

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

首先从EF 6.1代码生成SQL视图

我刚刚将数据库从数据库首先更改为代码!部署有多大改进!但现在我有以下问题.我从我的数据库生成了我的代码优先模型,但是在从生成的代码重新创建数据库后,我的数据库中的视图就像表一样生成了!

如何首先从代码生成我的视图?和/或如果我需要手动生成它们,将它们映射到我的实体?

编辑.

Luke McGregor的帖子肯定让我很亲近.是的,它现在生成视图.但迁移不起作用.

尝试执行Update-Database语句时,初始输出仍然是代码更改.

因此,我执行了Add-Migration xxx命令并再次触发了Update-Database命令.

编辑2:

解决我的代码优先代码和视图的SQL代码之间的一些差异解决了这个问题!

c# entity-framework entity-framework-6.1

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

GridFS:如何在 &lt;img/&gt; 标签中显示 readstream.pipe(res) 的结果?

我使用 MongoDB 和 GridFS 来存储图像。我有这条路线从数据库检索图像:

\n
app.get("/images/profile/:uId", function (req, res) {\nlet uId = req.params.uId;\nconsole.log(uId)\ngfs.files.findOne(\n  {\n    "metadata.owner": uId,\n    "metadata.type": 'profile'\n  }\n  , function (err, file) {\n    if (err || !file) {\n      return res.status(404).send({ error: 'Image not found' });\n    }\n    var readstream = gfs.createReadStream({ filename: file.filename });\n    readstream.on("error", function (err) {\n      res.send("Image not found");\n    });\n    readstream.pipe(res);\n  });\n});\n
Run Code Online (Sandbox Code Playgroud)\n

这会返回类似的内容:

\n
\xef\xbf\xbdPNG\n\n\nIHDR\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd]\xef\xbf\xbdbKGD\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xcc\xbf   pHYs\n\xef\xbf\xbd\n\xef\xbf\xbdB(\xef\xbf\xbdxtIME\xef\xbf\xbd  -u\xef\xbf\xbd\xef\xbf\xbd~IDATx\xef\xbf\xbd\xef\xbf\xbdi|TU\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdJDV\xef\xbf\xbdfH\xef\xbf\xbd0\xef\xbf\xbd :-\nH_\xef\xbf\xbd\xef\xbf\xbdM\xef\xbf\xbd\xef\xbf\xbd03`\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\n(\xef\xbf\xbd\xef\xbf\xbd-\xef\xbf\xbdq{U[\xef\xbf\xbdm\xef\xbf\xbdA\xef\xbf\xbd\xef\xbf\xbdAQ\xef\xbf\xbdVZ\xef\xbf\xbd\xd2\xa2bP\xef\xbf\xbd\xef\xbf\xbdS\xef\xbf\xbd@K@\xef\xbf\xbd\xef\xbf\xbdCB\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbd\xef\xbf\xbdT\xef\xbf\xbd[\xef\xbf\xbd=\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd"U\xef\xbf\xbd\xef\xbf\xbd[\xef\xbf\xbd\xef\xbf\xbd{\xef\xbf\xbds\xef\xbf\xbd9\xef\xbf\xbd  \n\xef\xbf\xbd+)@e\xdb\xbf\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd{\xef\xbf\xbd9\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd,?\xef\xbf\xbdT.S\xef\xbf\xbd\xef\xbf\xbdxL\xd6\x9fx&@\xef\xbf\xbd0TSFp7\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdt\xca\x81\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdA!_\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdD\xef\xbf\xbdh\xef\xbf\xbd \nz\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdod\xef\xbf\xbdG\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdYzV\xef\xbf\xbd?e\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd|\xef\xbf\xbdh\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd@P\xef\xbf\xbd,\xef\xbf\xbd{\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbdZ\xef\xbf\xbdl\\vc\xef\xbf\xbdN\xd3\xb2\xef\xbf\xbd?\nn\xef\xbf\xbd\xef\xbf\xbd(\xef\xbf\xbdr\xef\xbf\xbd.......\n
Run Code Online (Sandbox Code Playgroud)\n

看来我正确地得到了 png 。那么如何在 img 标签中显示它呢?

\n

html png mongodb gridfs

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

包含 pyspark SQL:类型错误:“列”对象不可调用

我正在使用火花 2.0.1,

 df.show()
+--------+------+---+-----+-----+----+
|Survived|Pclass|Sex|SibSp|Parch|Fare|
+--------+------+---+-----+-----+----+
|     0.0|   3.0|1.0|  1.0|  0.0| 7.3|
|     1.0|   1.0|0.0|  1.0|  0.0|71.3|
|     1.0|   3.0|0.0|  0.0|  0.0| 7.9|
|     1.0|   1.0|0.0|  1.0|  0.0|53.1|
|     0.0|   3.0|1.0|  0.0|  0.0| 8.1|
|     0.0|   3.0|1.0|  0.0|  0.0| 8.5|
|     0.0|   1.0|1.0|  0.0|  0.0|51.9|
Run Code Online (Sandbox Code Playgroud)

我有一个数据框,我想使用 withColumn 向 df 添加一个新列,新列的值基于其他列值。我使用了这样的东西:

>>> dfnew = df.withColumn('AddCol' , when(df.Pclass.contains('3.0'),'three').otherwise('notthree'))
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误

TypeError: 'Column' object is not callable
Run Code Online (Sandbox Code Playgroud)

可以帮助如何克服这个错误。

python apache-spark apache-spark-sql pyspark

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

上课之间的循环引用

我需要开发下一个图表类: 在此输入图像描述
我写了代码,但是,有循环单元引用的问题.

XmlFileManager类包含:

unit XmlFileManager;
interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlEnpManager;
type
  TXmlFileManager = class
  private
    [...]
    xmEnp: TXmlEnpManager;
    xmEnpInicial: TXmlEnpManager;
    xmEnpFinal: TXmlEnpManager;
[...]
end.
Run Code Online (Sandbox Code Playgroud)

抽象类,XmlNodeManager:

unit XmlNodeManager;
interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlFileManager;
type
  TXmlNodeManager = class
   protected
        { sgy alias para strategy }
        sgyIterator: Integer;
        sgyContext: TXmlFileManager;
        sgyAttributes: TStringList;
        sgyNode: IXMLNode;
[...]
end.
Run Code Online (Sandbox Code Playgroud)

和XmlEnpManager具体类:

unit XmlEnpManager;
interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlNodeManager;
type …
Run Code Online (Sandbox Code Playgroud)

delphi oop circular-reference

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

在NuGet Init.ps1中创建或获取解决方案文件夹

我正在尝试Init.ps1为NuGet包创建一个脚本,该包将项添加到解决方案文件夹中,该文件夹可能已存在,也可能尚未存在于解决方案中.

该脚本成功地添加或在文件系统中替换文件,如果没有这样的解决方案文件夹,项目被成功添加到新创建的解决方案文件夹,但是,如果解决方案文件夹已经存在,一个名为NewFolder1一个新的解决方案文件夹(或2如果已经存在,则创建并且没有文件添加到解决方案中.

param($installPath, $toolsPath, $package)

$solutionNode = Get-Interface $dte.Solution ([EnvDTE80.Solution2])

$solutionItemsNode = $solutionNode.FindProjectItem("FolderName")

$solutionItemsProjectItems = Get-Interface $solutionNode.ProjectItems ([EnvDTE.ProjectItems])

if (!$solutionItemsProjectItems) {

    $solutionItemsNode = $solutionNode.AddSolutionFolder("FolderName")

    $solutionItemsProjectItems = Get-Interface $solutionItemsNode.ProjectItems ([EnvDTE.ProjectItems])

}

$rootDir = (Get-Item $installPath).parent.parent.fullname

$deploySource = join-path $installPath '\sln\'
$deployTarget = join-path $rootDir '\FolderName\'

New-Item -ItemType Directory -Force -Path $deployTarget

ls $deploySource | foreach-object {

    $targetFile = join-path $deployTarget $_.Name

    Copy-Item $_.FullName $targetFile -Recurse -Force

    $solutionItemsProjectItems.AddFromFile($targetFile) > $null

} > $null
Run Code Online (Sandbox Code Playgroud)

我尝试了各种更改,例如检查$solutionItemsNode而不是$solutionItemsProjectItems(相同的效果),直接添加到解决方案而不是解决方案文件夹(什么都不做)以及以下更改与原始操作相同:

$solutionItemsNode = …
Run Code Online (Sandbox Code Playgroud)

powershell visual-studio envdte nuget

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

Apache Zeppelin-zeppelin.cmd未显示结果

我在Windows 10上的0.81 Apache Zeppelin上解压缩了完整版,然后导航到C:\ Zeppelin \ bin并输入zeppelin.cmd

只是重复C:\ Zeppelin \ bin“之后,我没有任何输出。而且我可以在文件夹的dir / p中清楚地看到zeppelin.cmd

我该如何调试

apache-zeppelin

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

在 GIT 中存储存储库元数据

我想存储每个 GIT 存储库的元数据,例如在 CI/CD 过程中要使用哪些分支。

将相关元数据存储在每个 GIT 存储库中似乎很自然,但是,元数据本身是分支的。

如果我将元数据存储在 GIT 中,那么每次更改文件时,即每次将其合并回 master 分支时,合并都会触发构建。

问题:有没有办法忽略(所有存储库)构建触发器中的特定文件?

我也很感谢有关解决根本问题的其他方法的评论/答案 - 将元数据存储在 CI/CD 流程使用的存储库上。

我正在考虑的替代方案:将此元数据存储在数据库中,但是,由于元数据不会存储在分支附近,恐怕开发人员可能会忘记设置或更新它。

git azure-devops

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

如何在 python 中设置或冻结时间?

我想使用 python 设置一个与我的系统上本地看到的不同的固定时间,这样当我使用 datetime.date.today() 时我就能看到所需的日期

python mocking python-3.x python-datetime

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

强制更新nuget feed

当我们将新版本的NuGet包推送到我们的NuGet源时,该包将出现在NuGet服务器上的文件系统中.然而,NuGet feed API和visual studio中大约每小时更新一次,因此我们可能需要等待一个小时才能显示新的包.有没有办法强制更新NuGet提要以准确描述文件系统中的内容?

teamcity feed nuget

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