使用Entity Framework 4 CTP5 Code First和本例
是否可以访问鉴别器值?
我想在投影中使用它
context.BillingDetails.Select(x => new { Number = x.Number, DiscrimitatorValue = /* how do I get the discriminator value? */ });
Run Code Online (Sandbox Code Playgroud)
从这篇文章我明白鉴别器不能映射到属性,但有没有其他方式访问它?
这里有趣的问题:在我目前的项目中,我们使用的是一个配置非常大的自定义性能监控套件(它使用Perfmon,因此我们必须手动注册每个性能计数器.我们监控的每个方法都有一个性能计数器,并且那里有很多).
我想知道是否有任何工具可以让我分析项目程序集,找到实例化类XClass实例的所有方法,然后将它们写入文件?这将允许我大幅削减我需要做的手动配置量.
谢谢,艾德
编辑
对不起,'把它们写到文件'的事情有点人为:我真的需要用一些额外的数据重新格式化它们并用特定于配置的XML格式编写它们.如果我可以对其进行编码以便将其设置为构建任务(因此我不必手动运行),这将是最好的,并且可以轻松地进行任何未来的更改并记录等.
我可以在扩展其专业化的类中重载模板类函数吗?
我有以下代码(我试图将其简化为最低限度):
#include <iostream>
using namespace std;
class X {
public:
unsigned test_x() {
return 1;
}
};
class Y {
public:
unsigned test_y() {
return 2;
}
};
template <typename T, typename U>
class A {
public:
unsigned foo(U i) {
cout << "A" << endl;
return i.test_x();
}
unsigned bar(T i) {
return foo(i);
}
};
class B : public A<Y, X> {
public:
unsigned foo(Y i) {
cout << "B" << endl;
return i.test_y();
}
};
int …Run Code Online (Sandbox Code Playgroud) 我在preg_match上非常差,我认为这是所需的功能.我试图从文本文件中的这一行获取时间值(我认为总是3位小数): -
frame= 42 q= 38.0 f_size= 909 s_size= 1kB time= 1.400 br= 218.2kbits/s avg_br= 5.2kbits/s type= I
Run Code Online (Sandbox Code Playgroud)
所以,在那个例子中我想得到1.400.任何指导非常感谢,我真正发现正则表达式,真正令人困惑.
我试图在Ubuntu 10.04中的Code :: Blocks下编译一个Qt和OpenGL程序.我得到'未定义的'vtable for GLWidget'
#ifndef _GLWIDGET_H
#define _GLWIDGET_H
#include <QtOpenGL/QGLWidget>
#include "stdlib.h"
class GLWidget : public QGLWidget {
Q_OBJECT // must include this if you use Qt signals/slots
public:
GLWidget(QWidget *parent = 0);
~GLWidget();
protected:
void initializeGL();
void resizeGL(int w, int h);
void paintGL();
void keyPressEvent(QKeyEvent *event);
};
#endif /* _GLWIDGET_H */
Run Code Online (Sandbox Code Playgroud)
我借用了这个人的代码,看看它是否有效,因为我的工作原因是因为同样的原因.码
这是GLWidget.cpp:
#include <QtGui/QMouseEvent>
#include "glwidget.h"
GLWidget::GLWidget(QWidget *parent) : QGLWidget(parent) {
setMouseTracking(true);
}
GLWidget::~GLWidget()
{
}
void GLWidget::initializeGL() {
...
}
void GLWidget::resizeGL(int w, int …Run Code Online (Sandbox Code Playgroud) 我从我的主要Perl程序调用以下脚本.该脚本采用进程名称并返回其PID.该脚本包含在我的主要perl代码中,使用require关键字:
require "getPid.pl";
Run Code Online (Sandbox Code Playgroud)
并使用:
&pidGetter($processName);
Run Code Online (Sandbox Code Playgroud)
getPid.pl是:
#!/usr/bin/perl -w
use strict;
use warnings;
use Proc::ProcessTable;
pidGetter($ARGV[0]);
sub pidGetter
{
my $ret="PROCESS ID NOT FOUND\n";
my $t = new Proc::ProcessTable;
my $procName = $_[0];
foreach my $p (@{$t->table})
{
if ($p->fname =~ /$procName/)
{
$ret = $p->pid;
}
}
return $ret;
}
Run Code Online (Sandbox Code Playgroud)
但是,当调用脚本时,我收到以下警告:
在getPid.pl第19行的regexp编译中使用未初始化的值$ procName
脚本的其余部分似乎运行正常.我的理解是$ procName由$ procName =&_ [0]初始化;
我已将print语句放入调试中,并$procName确实返回一个值,因此它已初始化.有谁知道为什么我收到这些警告?
我对TextBox控件添加到窗体的Controls属性的顺序有一个特殊的问题.
目前,我有这个功能:
public static bool IsValidate(System.Windows.Forms.Form Frm)
{
foreach (Control ctrl in Frm.Controls)
if (ctrl is TextBox)
// if (((TextBox)ctrl).AccessibleDescription == "Valid" && ((TextBox)ctrl).Text == string.Empty)
if (((TextBox)ctrl).AccessibleDescription == "Valid" && ((TextBox)ctrl).Text.Trim()== "")
{
MessageBox.Show(((TextBox)ctrl).AccessibleName + " Can't be Blank", Program.companyName, MessageBoxButtons.OK, MessageBoxIcon.Stop);
((TextBox)ctrl).Focus();
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
但它正在随机迭代文本框,即使我已经设置了它们的标签索引.
所以我再次开发相同的表单并按顺序创建文本框.但是,当我将表单传递给此函数时,它会随机迭代文本框.
我想知道控件的任何属性是否允许我管理它们的流程.
在PHP中,我试图计算不同的十六进制颜色之间的平均颜色(十六进制).但是,我还需要能够提供介于0.0和1.0之间的索引号.
例如:
我有
$color1 = "#ffffff"
$color2 = "#0066CC"
Run Code Online (Sandbox Code Playgroud)
如果我要写一个函数来获得平均颜色,我会提供0.0作为索引号,该函数需要返回" #ffffff".如果我提供1.0作为索引号,则该函数需要返回" #0066CC".但是,如果我将提供0.2,该功能需要两种颜色间的返回的平均色,但仍接近$color1比$color2.如果我提供索引号0.5,我会得到两种颜色的确切平均颜色.
我一直试图完成这几天,但我似乎无法弄明白!任何帮助将非常感谢!
我有一个InputStream对象,我想复制它.做这个的最好方式是什么?
数据不是来自文件,而是作为从网页发送的http表单的有效负载,我使用的是Apache Commons FileUpload lib,我的代码给了我InputStream,如下所示:...
InputStream imageStream = null;
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = new ArrayList();
items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField()) { // this is subject Id
if (item.getFieldName().equals("subId")) {
subId = Integer.parseInt(item.getString());
System.out.println("SubId: " + subId);
}
} else {
imageStream = item.getInputStream();
}
}
Run Code Online (Sandbox Code Playgroud)
获取imageStream的副本/副本的最佳方法是什么?
我的项目需要Java 1.6进行编译和运行.现在我需要使用Java 1.5(来自营销方面).我想替换方法体(返回类型和参数保持不变),以使其使用Java 1.5进行编译而不会出现错误.
详细信息:我有一个实用程序类OS,它封装了所有特定于操作系统的东西.它有一种方法
public static void openFile(java.io.File file) throws java.io.IOException {
// open the file using java.awt.Desktop
...
}
Run Code Online (Sandbox Code Playgroud)
打开文件,如双击(startWindows命令或openMac OS X命令等效).由于无法使用Java 1.5进行编译,因此我希望在编译期间将其排除,并替换为另一种调用run32dllWindows或openMac OS X的方法Runtime.exec.
问题:我该怎么办?注释可以帮到这里吗?
注意:我使用ant,我可以制作两个java文件OS4J5.java,OS4J6.java它们将包含OS带有Java 1.5和1.6所需代码的类,并OS.java在编译之前复制其中一个(或者一种丑陋的方式 - OS.java根据java有条件地替换内容如果有另一种方式,我不想这样做.
详细说明:在CI中可以使用ifdef, ifndef,在Python中没有编译,我可以hasattr在Common Lisp中使用或其他东西检查功能,我可以使用#+feature.Java有类似的东西吗?
发现这篇文章,但它似乎没有帮助.
任何帮助是极大的赞赏.KH.