问题列表 - 第34869页

实体框架:ObjectSet及其(泛型)方差

我使用:EntityFramework + POCO

这是事情:

public interface IBaseType
{
    int Id { get; set; }
}

public class BaseType : IBaseType
{
    public virtual int Id { get; set; }
}

public class DerivedType : BaseType
{
}
Run Code Online (Sandbox Code Playgroud)

问题:

public class EntityFetcher<T> where T : BaseType
{
    public object GetById(int id)
    {
        ObjectSet<T> objectSet = (ObjectSet<T>)GetTheObjectSet(typeof(T)); 

        return objectSet.SingleOrDefault((o) => o.Id == id);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果TBaseType这一切完美的作品,但是:问题是,在当的EntityFramework一个类继承了另一个他们分享的ObjectSet,因此,如果TDerivedTypeGetTheObjectSet返回ObjectSet<BaseType>,不能被强制转换为ObjectSet<DerivedType>. …

.net entity-framework casting covariance objectset

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

如何识别在C#中给定方法中读/写的状态变量

确定给定方法是读取还是写入成员变量或属性的最简单方法是什么?我正在编写一个工具来协助RPC系统,其中对远程对象的访问是昂贵的.能够检测方法中是否未使用给定对象可以允许我们避免序列化其状态.在源代码上执行它是完全合理的(但是能够在编译的代码上执行它将是惊人的)

我想我可以编写自己的简单解析器,我可以尝试使用现有的C#解析器之一并使用AST.我不确定是否可以使用Reflection使用Assemblies执行此操作.还有其他方法吗?什么是最简单的?

编辑:感谢您的所有快速回复.让我提供一些更多信息,使问题更清楚.我当然更喜欢正确,但绝对不应该非常复杂.我的意思是我们不能过分检查极端或不可能的事情(如提到的传入的代表,这是一个很好的观点).只需要检测这些情况并假设一切都可以使用而不是在那里进行优化就足够了.我认为这些案件相对不常见.我们的想法是将这个工具交给我们团队以外的开发人员,不应该关注这个优化.该工具获取其代码并为我们自己的RPC协议生成代理.(我们只使用protobuf-net进行序列化,但没有使用wcf和.net远程处理).出于这个原因,我们使用的任何东西都必须是免费的,否则我们就不会

c# reflection parsing rpc code-analysis

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

SQL Server Management Studio 2005的SVN客户端

我已经安装了Tortoise SVN和AnkhSVN,但是在源代码控制选项下我的SQL Server Management Studio 2005中都没有显示.

我知道他们的工作是因为我所有的Visual Studio项目都运行良好.

我是否必须安装不同的SVN客户端才能集成到SQL Server Management Studio?

sql svn ssms svn-client

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

获取ASP.NET和XDocument.Load中的文件路径

在我的解决方案中,我在根目录下的文件夹中有一个静态类.在那个静态类'文件夹中,有一个包含XML文件的子文件夹.所以我有这些文件:

/PartialViews/Header/MyStaticClass.cs
/PartialViews/Header/Config/en-US.xml
/PartialViews/Header/Config/jp-JP.xml
...
Run Code Online (Sandbox Code Playgroud)

我在使用XDocument.Load()这些XML文件时遇到了麻烦.具体来说,我正在尝试从静态构造函数中加载XML文件MyStaticClass.

XDocument.Load()但是,似乎找不到文件.我已经尝试过所有这些但没有工作:

static MyStaticClass()
{
    XDocument doc;

    // These all throw exceptions relating to directory not found
    doc = XDocument.Load("/Config/en-US.xml");
    doc = XDocument.Load(@"\Config\en-US.xml");
    doc = XDocument.Load("/PartialViews/Header/Config/en-US.xml");
    doc = XDocument.Load(@"\PartialViews\Header\Config\en-US.xml");
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用Assembly.GetExecutingAssembly().LocationAssembly.GetEntryAssembly().Location相对路径之前,但解决了装配Assembly始终是一个.NET库(因为类型被初始化?).

如何在不更改解决方案中的位置的情况下加载文件?

.net c# xml

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

Python distutils错误:"[目录] ...不存在或不是常规文件"

我们采取以下项目布局:

$ ls -R .
.:
package  setup.py

./package:
__init__.py  dir  file.dat  module.py

./package/dir:
tool1.dat  tool2.dat
Run Code Online (Sandbox Code Playgroud)

以下内容为setup.py:

$ cat setup.py 
from distutils.core import setup


setup(name='pyproj',
      version='0.1',

      packages=[
          'package',
      ],
      package_data={
          'package': [
              '*',
              'dir/*',
          ],
      },
     )
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我想在所有非Python文件package/package/dir/目录.但是,运行setup.py install会引发以下错误:

$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/package
copying package/module.py -> build/lib/package
copying package/__init__.py -> build/lib/package
error: can't copy 'package/dir': doesn't exist or not a …
Run Code Online (Sandbox Code Playgroud)

python distutils

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

maven程序集忽略依赖工件的finalName

我有一个分层maven项目,我正在尝试为几个子模块构建一个本机安装程序.我使用我的产品名称作为前缀:<finalName>xyz-${artifactId}</finalName>在父POM中,以便我的所有工件罐都有一个标准的命名约定.

xyz-parent
 +-- util
      +--- target/xyz-util.jar
 +-- core
      +--- target/xyz-core.jar
 +-- app1 <--- "builds an installer as part of the package phase"
      +--- target/xyz-app1.jar
 +-- app2 <--- "builds an installer as part of the package phase"
      ...
Run Code Online (Sandbox Code Playgroud)

我需要将所有依赖的jar实现到一个目录中(因为inno setup对maven一无所知).因此,对于作为安装程序的每个子模块,我计划使用maven-assembly-plugin,然后在我的inno设置中使用以下内容:

Source: "target\pkg\lib\*.jar"; DestDir: "{app}\external";  Flags: ignoreversion;
Run Code Online (Sandbox Code Playgroud)

当我运行时mvn clean package,我得到一个target/xyz-app1-bin/xyz-app1/lib包含所有相关罐子的目录,但是我的兄弟项目生成的罐子都没有正确的最终名称(例如我有util-0.0.1-SNAPSHOT.jar而不是xyz-util.jar)

这个问题似乎与这篇文章类似,但我不知道"附加"是什么(可能已弃用).

maven-2 maven-assembly-plugin

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

csh脚本中的多个单词列表foreach循环

我有一个Cshell脚本,我正在修改,以具有相关的输入和输出位置.功能都发生在foreach循环中,如下所示:

set INPUT_LOCATION_LIST = "loc1 loc2 loc3 loc4"
foreach location ($INPUT_LOCATION_LIST)
#***Do some stuff ***
end
Run Code Online (Sandbox Code Playgroud)

我希望有一个输出列表,其值不同于输入列表,但是每次迭代都会遍历foreach循环.foreach的人只是

foreach name (wordlist)
Run Code Online (Sandbox Code Playgroud)

作为定义.所以只处理一个.我目前处理它的想法是让wordlist包含输入和输出位置,然后在脚本中解析它:

set INPUT_LOCATION_LIST = "loc1;out1 loc2;out2 loc3;out3 loc4;out4"
Run Code Online (Sandbox Code Playgroud)

所以我想知道是否有人有更好的方法来做到这一点.

shell csh

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

如何在Android中使用OpenGL ES的OpenCV旋转和平移向量?

我正在研究Android上的基本增强现实应用程序.到目前为止我所做的是用opencv检测一个正方形然后使用cvFindExtrinsicCameraParams2()我计算了一个旋转和平移向量.为此,我使用了4个对象点,它们只是(0,0,0)方形的角和图像中方形的4个角.

这给我一个非常好的旋转和平移矩阵.我还用cvRodrigues2()计算了旋转矩阵,因为使用它比旋转矢量更容易.只要我用它们在图像中绘制一些点就可以了.然而,我的下一步是将这些向量和矩阵传递回java,然后使用它们与OpenGL在OpenGLView中绘制一个正方形.正方形应该恰好位于OpenGLView后面显示的图像中的正方形.

我的问题是我找不到在OpenGL中使用旋转矩阵和平移向量的正确方法.我开始使用与openCV函数完全相同的对象点.然后我以几乎任何可能的方式应用旋转矩阵和平移向量.遗憾的是,这些方法都没有产生任何接近我希望的结果.谁能告诉我如何正确使用它们?

到目前为止,我得到的"最接近"的结果是将整个矩阵随机乘以-1.但大多数情况下,方块仍然看起来镜像反转或旋转180度.所以我想这只是一个幸运的打击,但不是正确的方法.

android opencv opengl-es augmented-reality

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

在Dev-C++中定义GCC内联汇编中的字节(.在Windows上的AT&T语法中的ascii)

下面的代码只是在屏幕上显示一个消息框.
地址是硬编码的,以方便:

int main ()
{
    asm("xorl %eax, %eax        \n"
        "xorl %ebx, %ebx        \n"
        "xorl %ecx, %ecx        \n"
        "xorl %edx, %edx        \n"
        "pushl %ecx             \n" //$0x0
        "pushl $0x20206c6c      \n" //"  ll"
        "pushl $0x642e3233      \n" //"d.23"
        "pushl $0x72657375      \n" //"resu"
        "movl %esp, %ecx        \n" //store "user32.dll" address in %ecx
        "movl $0x7c801d7b, %ebx \n" //store address of LoadLibraryA in %ebx
        "pushl %ecx             \n"
        "call *%ebx             \n"
        "movl $0xef30675e, %ecx \n"
        "addl $0x11111111, %ecx \n"
        "pushl %ecx             \n"
        "pushl $0x42656761      \n"
        "pushl $0x7373654d …
Run Code Online (Sandbox Code Playgroud)

assembly gcc inline-assembly dev-c++ att

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

使用fastercsv的Rails 3服务器启动问题

我有一个rails 2.3.5应用程序升级到Rails 3.我做了所有我需要做的事情来升级和当我启动rails服务器使用

rails server
Run Code Online (Sandbox Code Playgroud)

它给了我这个

Please switch to Ruby 1.9's standard CSV library.  It's FasterCSV plus
support for Ruby 1.9's m17n encoding engine.
Run Code Online (Sandbox Code Playgroud)

我正在使用ruby-1.9.2-p0并已fastercsv (1.5.3) gem安装.在puts语句的帮助下,我能够找到错误发生的位置.我发现执行在此行停止

Bundler.require(:default, Rails.env) if defined?(Bundler)
Run Code Online (Sandbox Code Playgroud)

在application.rb文件中.我尝试过很多东西,但都没有用..请帮忙..

ruby ruby-on-rails ruby-on-rails-3

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