小编Eth*_*her的帖子

C# - 实体框架 - mscorlib.dll中发生未处理的"System.StackOverflowException"类型异常

mscorlib.dll中发生未处理的"System.StackOverflowException"类型异常
确保您没有无限循环或无限递归.

以下代码在此方法成功时调用:

internal static List<RivWorks.Model.Negotiation.ProductsSold> GetProductsSoldByCompany(Guid CompanyID)
{
    var ret = from a in _dbRiv.ProductsSold where a.Company.CompanyId == CompanyID select a;
    return ret.ToList();
}
Run Code Online (Sandbox Code Playgroud)

在返回时,它调用实体模型并尝试填充所有外键控对象(子对象).架构是[1公司有0到多个ProductsSold].出于某种原因,对以下代码的调用只会自行级联:

[global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("RIV_Model", "FK_ProductsSold_Company", "Company")]
[global::System.Xml.Serialization.XmlIgnoreAttribute()]
[global::System.Xml.Serialization.SoapIgnoreAttribute()]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public Company Company
{
    get
    {
        return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company").Value;
    }
    set
    {
        ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company").Value = value;
    }
}
/// <summary>
/// There are no comments for Company in the schema.
/// </summary>
[global::System.ComponentModel.BrowsableAttribute(false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public global::System.Data.Objects.DataClasses.EntityReference<Company> CompanyReference
{
    get
    {
        return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Company>("RIV_Model.FK_ProductsSold_Company", "Company");
    }
    set
    {
        if ((value …
Run Code Online (Sandbox Code Playgroud)

c# stack-overflow recursion entity-framework

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

21
推荐指数
5
解决办法
2077
查看次数

Visual Studio有什么好处?

在我作为程序员的短暂时间内,我在许多平台上使用了许多开发环境.最值得注意的是,Eclipse/Linux,XCode/OSX,CLI /编辑器/ Linux,VisualDSP/Blackfin/Windows和MSVC/Windows.(我用了几个月)

几乎所有这些都有很好的功能.但不知何故,我在MSVC中找不到任何东西.话又说回来,所以很多人似乎真的很喜欢它,所以我可能失去了一些东西.所以请告诉我:Visual Studio的优点是什么?

我喜欢的事:

  • Eclipse中的重构工具
  • 在XCode和Eclipse中构建错误突出显示
  • 在XCode中编辑全部范围
  • XCode中的Profiler
  • Eclipse和CLI /编辑器的灵活性
  • VisualDSP中的数据绘图

我不喜欢的事情

  • 在MSVC中构建错误显示(未在代码中突出显示)

老实说,这并不意味着咆哮.当然我是一个Mac头并且有点偏向地狱,但我必须在工作中使用MSVC,所以我真的很想喜欢它.

eclipse xcode visual-studio

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

在subclipse中有不同的更改列表?

在IntelliJ中,我可以有不同的更改列表,以便我可以将某些我从未想要提交的文件放入不同的更改列表中,除非我选择该更改列表,否则不会提示我提交这些文件.例如,某些数据库配置文件,eclipse项目文件等,我想很少或永远不会提交.

有没有办法在Eclipse中使用Subversion执行此操作?我无法找到它所以我必须取消选中我不想每次都提交的文件.请注意,我不能使用svn:ignore,因为这些文件是,并且应该在存储库中.

eclipse subclipse svn

19
推荐指数
2
解决办法
8366
查看次数

使用Perl检查数据数组中重复项的最有效方法是什么?

我需要看一下字符串数组中是否有重复项,这是最省时的方法吗?

arrays perl

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

Perl 6是否有类似CPAN/CPAN6的项目?

我最近和Rakudo Perl 6一起玩,正在寻找类似于CPAN的项目.我找到了CPAN 6,但我认为还没有Perl 6代码.

所以我正在寻找一些替代方案,它不一定是长期解决方案,但能够维护模块,并用Perl 6编写.

随着Rakudo的发展,很快就可能创建更复杂的Perl 6代码.

cpan perl6 raku

19
推荐指数
3
解决办法
1779
查看次数

此列表是否正确理解了Microsoft当前的应用程序部署选项?

我试图了解Microsoft目前提供的许多应用程序部署选项.

做了一些研究,发现了数十个令人困惑的术语:

  • "WPF App"
  • "ClickOnce App"
  • "WPF ClickOnce App"
  • "MSI App"
  • "XBAP App"
  • "使用ClickOnce部署的XBAP应用程序"
  • "已安装的ClickOnce应用程序"
  • "WPF Web App"
  • "ASP.NET Web App"
  • "ASP.NET MVC Web App"
  • "Silverlight App"
  • "完整的WPF应用程序"
  • "具有同步框架支持的ClickOnce"

我将我的发现清理成以下七种不同的方法.希望得到反馈:

  1. "使用MSI部署WPF应用程序"(允许大量安装选项)

    • 目标计算机上需要MSI运行时
    • 带选项的向导
    • 可以指定每用户或每台机器
    • 可以修改目标计算机上的文件和注册表,仅受管理员设置的访问权限的限制
    • 可以在桌面上放置快捷方式
    • 替换系统文件等使得在目标计算机上轻松进入DLL地狱
    • 更新是一个很大的负面因素:检测可用更新需要额外的工具/自定义编程,而不是内置的
    • 用户不必在线使用应用程序
  2. "使用ClickOnce部署的WPF应用程序":(如果您想要自动更新但在沙箱中运行,则很好)

    • 需要两次单击(单击超链接,单击是),无需用户输入
    • 仅适用于当前用户,不适用于每台机器的安装
    • 桌面上没有快捷方式
    • 出现在程序列表中,如正常应用程序
    • 应用程序文件始终复制到../My Documents/My Applications
    • 应用程序的快捷方式将放在"开始"菜单/公司名称中
    • 无法修改目标计算机,与操作系统隔离
    • 自动检测并更新较新版本
    • 简单地将它们放在网络服务器上(客户端检测并获取它们)
    • 需要.NET 2.0或更高版本
    • 与Java Web Start相当
    • 解决了四个问题:(1)易于部署,(2)易于更新,(3)对目标计算机影响小,(4)无需管理员权限.
    • 被认为是"低影响"
    • 如果两个用户在同一台​​计算机上安装了相同的ClickOnce应用程序,则它们不会相互破坏
    • 使用CAS来保证安全
    • 用户不必在线使用应用程序
    • 独立的ClickOnce应用程序现在不能在Firefox和Mac上使用Firefox,因为它需要.NET运行时
    • 限制为单窗口应用程序,因为它们在浏览器中运行
    • 构建ClickOnce清单比Silverlight等更容易,因为IDE几乎可以为您完成所有这些操作; 你只需要在某处托管文件(可以是一个网址;可以是一个网络UNC).
  3. "XBAP App":.xbap文件的xcopy部署,IE和Firefox会立即显示为网页

    • XBAP模型的真正目标是创建一个等同于传统HTML和JavaScript网站(或Flash applet)的WPF
    • 目标计算机只需运行应用程序而无需通过Web浏览器(IE或Firefox)在Web上安装
    • 它们适用于需要非常简单部署的Intranet应用程序,完整的.NET Framework(与Silverlight相对)和浏览器的导航模型.
    • 99%的WPF功能(与Silverlight的WPF功能子集相对)
    • 也可以通过ClickOnce自动部署,但XCOPY更常见
    • YourApp.xbap实际上是ClickOnce部署清单
    • 在沙箱中运行
    • 用户必须在线才能使用应用程序
    • 这些必须是"基于页面"的应用程序,而不是"基于Windows"的应用程序
    • "XBAP似乎只是因为它在浏览器窗口中显示所有内容而在brwoser中运行.这与ActiveX控件(和Silverlight)使用的模型不同,后者在浏览器进程中加载​​."
    • XBAP提供"快速免费"体验,只要安装了.NET …

silverlight wpf xbap

18
推荐指数
1
解决办法
2392
查看次数

Perl循环标签是否算作GOTO?

通常,避免使用GOTO是一种好习惯.牢记这一点,我一直在与同事讨论这个话题.

请考虑以下代码:

Line:
    while( <> ) {
        next Line if (insert logic);
    }
Run Code Online (Sandbox Code Playgroud)

使用循环标签计算为goto吗?

以下是perldoc中的perlsyn所说的:

以下是C程序员如何在Perl中编写特定算法的代码:

for (my $i = 0; $i < @ary1; $i++) {
    for (my $j = 0; $j < @ary2; $j++) {
        if ($ary1[$i] > $ary2[$j]) {
            last; # can't go to outer :-(
        }
        $ary1[$i] += $ary2[$j];
    }
    # this is where that last takes me
}
Run Code Online (Sandbox Code Playgroud)

而这里的Perl程序员如何更熟悉这个成语可能会这样做:

OUTER: for my $wid (@ary1) {
    INNER:   for my $jet (@ary2) {
                 next OUTER if …
Run Code Online (Sandbox Code Playgroud)

perl loops goto flow-control

18
推荐指数
3
解决办法
7516
查看次数

我应该如何安装多个版本的Perl?

我想安装,从源代码,Perl的版本5.005,v5.6,v5.8,v5.10

现在我安装了'v5.10.0'.

/opt/perl/bin
/opt/perl/html
/opt/perl/lib
/opt/perl/man
/opt/perl/lib/5.10.0
/opt/perl/lib/site_perl
/opt/perl/lib/site_perl/5.10.0

如果我全部安装它们会有任何问题/opt/perl吗?

或者我应该将它们分成他们自己的,特定于版本的目录?喜欢/opt/perl-5.10.0/

directory installation perl install multiple-versions

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

Git Alias问题

我试图通过将这些行添加到我的~/.gitconfig文件来设置一些git别名:

[alias]
  st = status
  ci = commit
  br = branch
Run Code Online (Sandbox Code Playgroud)

当我在终端中运行这些命令时git st,我收到以下错误fatal: cannot exec 'git-st': Not a directory.我不知道问题是什么,我已经在网上查找,但无法找到它为什么这样做.我正在使用Git 1.7.1运行Mac OS 10.6.4.有人请帮帮我.如果我不明白为什么会这样做,我会发疯的!谢谢!

git alias

16
推荐指数
2
解决办法
5620
查看次数