我正在玩EntityFramework CTP4并决定将它应用于我当前的一个项目.该应用程序使用SQLServer数据库,并且有一个表具有复合键.比如,表"MyEntity"将"Key1"和"Key2"作为外键(单独)和复合主键.
我创建了一个从EntityConfiguration派生的配置类:
class MyEntityConfiguration : EntityConfiguration<MyEntity>
{
public MyEntityConfiguration()
{
HasKey(m => m.Key1);
HasKey(m => m.Key2);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在我的DataContext(从DbContext派生):
public DbSet<MyEntity> MyEntities { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new MyEntityConfiguration());
}
Run Code Online (Sandbox Code Playgroud)
问题是,当我查询"MyEntities"的所有记录时:
var entities = from e in MyModel.Instance.MyEntities
select e;
Run Code Online (Sandbox Code Playgroud)
我得到一个非常奇怪的结果,包括重复18次的第一个记录,然后第二个重复18次(记录,我的表有36个记录).
我怀疑问题在于复合键,因为没有其他实体显示此问题.
任何帮助将不胜感激,谢谢:)
使用DataTables我想在渲染表之前更改数据的值.我用过这个:
"fnRowCallback": function( nRow, aData, iDisplayIndex ) {
if ( aData[2] == "0" ){
$('td:eq(1)', nRow).html( '<b>6</b>' );
}
}
Run Code Online (Sandbox Code Playgroud)
但我发现虽然我将显示的文本更改为0到6,但是当我按列排序时,它仍然按数据排序,而不是按显示的文本排序.
有谁知道我怎么能真正改变单元格中的数据,这样当我排序它将正确排序0-6?
你如何检查userControl是否在他人面前?有没有简单的方法呢?单击用户控件时我使用了bringToFront方法,但现在我需要确定它是否在前面.
我最近开始学习Ruby,并且想知道要学习哪个版本.我有Matz的Ruby书,所以我对这些差异有所了解,默认情况下我会选择1.9因为性能,使用角色,而且因为学习很快就会过时的东西没什么意义!
但是,由于没有为1.9更新宝石,我在1.9.1中遇到了一些问题.我也想使用rcov进行编码器覆盖,这似乎是唯一的工具,但它不适用于1.9.我也刚刚阅读了这篇关于有人因为类似原因完全从Ruby转换的博文.
之前有人问过类似的问题,但现在几个月前,情况可能已经发生了变化.我目前没有对Ruby做任何具体的事情,但我计划很快编写一个Web应用程序,可能使用Rails,如果这有任何区别的话.
谢谢
我正在使用Oracle SQL,我希望将一些不同的行分组,这些行与"函数结果"相似.详细说明一个例子:
我们假设我有一个表MESA,其中一列是一个巨大的字符串.我正在计算与特定模式匹配的行数:
SELECT m.str, count(*)
FROM MESA m
WHERE m.str LIKE '%FRUIT%'
AND (m.str LIKE '%APPLE%' OR m.str LIKE '%ORANGE%')
Run Code Online (Sandbox Code Playgroud)
所以我们假设这个查询的结果是:
FRUIT..afsafafasfa ... RED_APPLE 20
FRUIT..afsafafasfa ... YELLOW_APPLE 12
FRUIT..afsafafasfa ... GREEN_APPLE 3
FRUIT..afsafafasfa ... PURPLE_ORANGE 4
FRUIT..afsafafasfa ... RED_ORANGE 45
但我希望我的结果是:
苹果35
橙色49
这可能吗?如果是这样,怎么会这样?:)
评论和代码片段非常感谢.
PS:当然查询和结果比上面的例子更复杂.我只是为了简单起见而编写它.
干杯..
我跑的时候为什么会出现这个错误manage.py validate
?:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\python26\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
utility.execute()
File "C:\python26\lib\site-packages\django\core\management\__init__.py", line
379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\python26\lib\site-packages\django\core\management\base.py", line 191,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\python26\lib\site-packages\django\core\management\base.py", line 218,
in execute
output = self.handle(*args, **options)
File "C:\python26\lib\site-packages\django\core\management\base.py", line 347,
in handle
return self.handle_noargs(**options)
File "C:\python26\lib\site-packages\django\core\management\commands\validate.p
y", line 9, in handle_noargs
self.validate(display_num_errors=True)
File "C:\python26\lib\site-packages\django\core\management\base.py", line 245,
in validate
num_errors = get_validation_errors(s, app)
File "C:\python26\lib\site-packages\django\core\management\validation.py", lin
e 28, in …
Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个使用netlink与用户进程通信的linux内核模块.我正在使用netlink,因为我想要通信的用户程序只使用套接字进行通信,我无法改变它来添加ioctl()
或任何东西.
问题是我无法弄清楚如何做到这一点.我用Google搜索,但我发现所有的例子都是老喜欢这一个,不再适用于当前的内核版本.我也看了这个问题,但这里的示例使用libnl进行套接字操作,但我想坚持使用标准套接字函数(定义sys/socket.h
).那么有些人可以在这里指导我一些教程或指南或一些可以帮助我理解netlink的界面和用法的东西.我非常感谢一个工作示例,没什么特别的,只是一个非常基本的例子,说明如何建立从用户程序中的套接字到内核中的套接字的连接,然后将数据从用户进程发送到内核并从内核接收回来.
另请不要告诉我查看内核代码.我已经在做了,但这需要花费很多时间,而且我没有留下很多东西.
更新:
经过大量的试验和错误后,我有以下代码将消息从用户程序发送到内核,但是从内核到用户程序的消息即使用netlink_unicast()
不起作用.它不仅没有工作,呼叫挂起系统,然后我必须重新启动机器.有人可以看看,告诉我我在做什么错.该netlink_unicast()
调用在以下代码中进行了注释.它应该是内核到用户程序消息的未注释.
#include <sys/socket.h>
#include <linux/netlink.h>
#define NETLINK_USER 31
#define MAX_PAYLOAD 1024 /* maximum payload size*/
struct sockaddr_nl src_addr, dest_addr;
struct nlmsghdr *nlh = NULL;
struct iovec iov;
int sock_fd;
struct msghdr msg;
void main()
{
sock_fd=socket(PF_NETLINK, SOCK_RAW, NETLINK_USER);
if(sock_fd<0)
return -1;
memset(&src_addr, 0, sizeof(src_addr));
src_addr.nl_family = AF_NETLINK;
src_addr.nl_pid = getpid(); /* self pid */
/* interested in group 1<<0 */
bind(sock_fd, …
Run Code Online (Sandbox Code Playgroud) 任何人都可以在Android中发布简单日期选择器的示例代码.
如果在Android中无法使用日期选择器,则需要选择日期的选项.
可能重复: 单元测试私有方法的最佳方法是什么?
我是初学程序员,我不知道如何编写一个结构良好的单元测试应用程序.我想编写能够在之后添加有效单元测试的应用程序.
问题在于private
方法 - 它们无法在类之外进行测试.
我应该改变是所有的方法解决这个问题private
来protected
,让测试类扩展源类?或者有更好的解决方案吗?
我的解决方案(private splitLetters => protected splitLetters)将如下工作:
来源类:
class MyClass{
protected splitLetters(int num){
return num+2;
}
}
Run Code Online (Sandbox Code Playgroud)
测试类:
class Test_MyClass extend MyClass{
public splitLettersTest(){
for(int i=0;i<100;i++){
System.println(parent.splitLetters(i));
}
}
}
Run Code Online (Sandbox Code Playgroud)
解决方案:
不测试私有方法 - 有时私有方法正在执行非常复杂的任务,应该进行非常好的测试,我们不希望该用户可以访问这些方法.很快,解决方案就是将私有方法改为受保护.
嵌套类测试方法 - 有问题,因为QA在源代码中进行了更改
反思 - 如果这可以调用私有方法,它看起来像一个很好的解决方案http://www.artima.com/suiterunner/private3.html (我应该学习更多来理解反射.我不明白反射如何做如果我们可以从另一个类调用私有方法,那就不要破坏拥有公共和私有方法的所有想法.)
没有定义私有方法(正如我在我的解决方案中所示) - 有问题,因为有时我们必须定义私有方法.
MENU_NORMAL_ITEM和MENU_CALLBACK有什么区别?