问题列表 - 第34955页

ORM比较:首先是数据库还是类?

最近我一直在研究可用的基于.NET的ORM.我注意到每个人都会在一两个阵营中选址.在一个阵营中,首先创建数据库,ORM提供了一种更简单的方法来访问应用程序中的数据库.在第二阵营中,对象模型首先存在,ORM有助于将对象模型保存在数据库中.

现在我不是要求或断言一个阵营是否比另一个更好.我当然可以看到每种设计方法的原因.令我感到沮丧的是,我最近阅读的所有教程和"入门"文档都没有出现,并且在开头说"这个工具假设您从现有的数据库/对象模型开始".对我来说,这对于你是否会使用一个ORM而不是另一个来说非常重要.

因此,在做了一堆阅读并创建了几个"Hello World"项目之后,我已经在我所研究的ORM支持的工作流程上汇集了一系列要点.任何有这些工具经验的人都可以告诉我,我是否做了任何不正确的陈述,或完全错过了任何非常重要的观点.具体来说,我真的想知道我对数据库模式或对象模型是否应该首先使用每个工具的假设是正确的.

Linq To SQL

  • 数据库应该首先存在
  • 仅适用于SQL Server
  • DataContext类用于在类和数据库之间进行读/写
  • DataContext可以重新调用实际物理类,或者动态类型可以用于根据数据库模式自动创建类型.
  • 映射默认为映射表名到类名,属性名到列名
  • 可以通过嵌入在每个类中的属性来定制映射

亚音速(活跃记录)

  • 应首先创建数据库
  • 使用许多数据库技术
  • 使用T4模板从现有数据库模式自动生成类
  • 生成类后,与数据库的连接完全透明
    • 调用类构造函数会自动创建数据库中的记录
    • 更改属性值会自动更新数据库.

亚音速(简易存储库)

  • 类结构应该是第一位的
  • 使用许多数据库技术
  • 创建存储库类并将其连接到数据库
  • 当类添加到存储库时,会自动创建和更新数据库模式
    • repo.Add<MyClass>(instance);
    • 存储库使用反射来创建/更新数据库模式
    • 每次创建一个表,并为每个属性创建一列

NHibernate的

  • 可以首先创建数据库或类结构
    • 可以创建映射以将新类结构与现有数据库匹配
    • 映射可用于自动生成数据库模式
  • 使用许多数据库技术
  • 最终程序集中的类归属于NHibernate映射设置,这些设置将类和属性映射到表和列
  • 添加映射配置有两种方法
    • XML文件嵌入二进制文件中, <classname>.hbm.xml
    • 添加到代码中的属性
  • 支持高级映射配置,包括一对一,一对一,多对一,多对多,继承等.等...

.net nhibernate linq-to-sql subsonic-active-record subsonic-simplerepository

9
推荐指数
1
解决办法
1083
查看次数

MPMoviePlayerViewController隐藏状态栏

我有一个iPad应用程序,用于创建和显示视频MPMoviePlayerViewController.这是我的代码:

MPMoviePlayerViewController *mpvc = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:URLEncode(uri)]];
[mpvc setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
[mpvc setWantsFullScreenLayout:YES];
[<MainViewController> presentModalViewController:mpvc animated:YES];
Run Code Online (Sandbox Code Playgroud)

电影加载/播放工作正常,但是,当电影控制器出现时,它会在顶部显示状态栏(连接,电池,小时),即使我在主窗口上取消激活它也是如此.

我试过做:

[mpvc setWantsFullScreenLayout:YES];
[[UIApplication sharedApplication] setStatusBarHidden:YES];
Run Code Online (Sandbox Code Playgroud)

似乎没有任何工作,但是如果我也放了:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];
Run Code Online (Sandbox Code Playgroud)

状态栏消失了!但电影控制器仍然会调整大小,好像状态栏在那里(即使我已经使用过-setWantsFullScreenLayout:).

有人能指出一种简单(经过验证)的方式来显示没有状态栏的视频吗?

谢谢.

statusbar movie ipad ios

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

解决方案资源管理器上下文菜单太长

好的,所以我在Visual Studio 2010中从Extension Manager安装了大量有用的扩展.我非常喜欢它们,但现在我在解决方案资源管理器中的上下文菜单太长了.事实上,我必须使用小箭头向下/向上滚动,这真的很烦人.

任何人的解决方案?

visual-studio-2010

7
推荐指数
1
解决办法
1904
查看次数

如何在powershell中确认完成以前的命令

我有一个简单的PowerShell脚本,每天运行以压缩和移动一些日志文件.如何在删除原始日志文件之前测试命令是否成功完成.

set-location $logpath1
& $arcprg $pram $dest_file $source_file
Move-Item $dest_file $arcdir
Run Code Online (Sandbox Code Playgroud)

如果Move-Item完成,我想删除item $ source_file

powershell

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

当密钥是非平凡的对象时,如何将Python字典转储到JSON?

import datetime, json
x = {'alpha': {datetime.date.today(): 'abcde'}}
print json.dumps(x)
Run Code Online (Sandbox Code Playgroud)

上面的代码失败,TypeError因为JSON对象的键需要是字符串.该json.dumps函数有一个名为default的参数,当JSON对象的引发a 时调用该参数TypeError,但似乎无法为该执行此操作.解决这个问题最优雅的方法是什么?

python json

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

PreferenceActivity:将值保存为整数

EditTextPreference在我的偏好活动中使用简单的:

<EditTextPreference
    android:key="SomeKey"
    android:title="@string/some_title"
    android:summary="..."
    android:numeric="integer"
    android:maxLength="2"
/>
Run Code Online (Sandbox Code Playgroud)

有没有办法将此配置值保存为整数?现在似乎只允许输入数字,但该值仍保存为字符串:

呼叫:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
int value = preferences.getInt("SomeKey", -1);
Run Code Online (Sandbox Code Playgroud)

抛出我java.lang.ClassCastException: java.lang.String,并且:

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String value = preferences.getString("SomeKey", "-1");
Run Code Online (Sandbox Code Playgroud)

成功检索值.

如何PreferenceActivity默认将值保存为整数?

android preferenceactivity sharedpreferences

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

为什么在javascript中需要变量之间的+?

为什么这条线有效

$('#body-image').css("background-image", 'url('+ backgroundimage +')');
Run Code Online (Sandbox Code Playgroud)

但不是这个

$('#body-image').css("background-image", 'url('backgroundimage')');
Run Code Online (Sandbox Code Playgroud)

或者这个

$('#body-image').css("background-image", 'url(backgroundimage)');
Run Code Online (Sandbox Code Playgroud)

javascript syntax

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

以编程方式删除UIWebView中的选择

有没有办法以编程方式删除用户在UIWebView中选择的文本选择框?

iphone cocoa-touch uiwebview ipad

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

在python中的字典中动态访问键名

Python {'Good':'0','Bad':'9','Lazy':'7'}我需要在程序中动态访问键名.例如.

a= raw_input (" which is the final attribute:")
for i in python.items():
    if python.items()[i] == a:
        finalAttribute = python.items()[i]
Run Code Online (Sandbox Code Playgroud)

这给我错误的说法

Traceback (most recent call last):
File "C:/Python27/test1.py", line 11, in <module>
if somedict.items()[i] == a:
TypeError: list indices must be integers, not tuple
Run Code Online (Sandbox Code Playgroud)

python

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

为每个用户创建个人页面,PHP

我想要做的是为每个用户在我的页面上注册时创建一个网页.示例:www.someweb.com/username,这将是他们的网页.

我知道这可以通过mkdir()和其他相关函数轻松完成,但问题是我的根文件夹不是chmod 777而且我不想因为安全原因而chmod 777这个根文件夹.

当用户在我的网页上注册时,做这件事的最佳方法是什么

php account

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