我想知道我是否做出了正确的决定.我正在开发一个应用程序,允许用户混合来自本地数据库(可能是SQL CE或SQLite)和远程共享数据库(很可能是MySQL)的数据库条目.理想情况下,它必须是灵活的并且与几种数据库服务器类型兼容(静态地按照初始配置,不动态地混合几种类型)但这不是一个显示停止.
代码是C#,.NET 4.
当然,我正在考虑NHibernate,因为它在版本3.0中具有LINQ,对代码可读性和效率的加分,并且模型优先方法比实体框架更自然.它还有混合数据库部分的Shards,这应该更容易处理.另一个选项是EF 4,我不喜欢它,因为它在.NET上下文和Visual Studio中完全支持,并且在那里有一个充满希望的未来.
碎片是否足够成熟?它已经坚持3 beta了很长一段时间,看起来像一个死的项目,让人们基于这个扩展部署专业应用程序?它有未来吗?还是有其他选择吗?
NHibernate 3在Mono上运行吗?我想是的,但实际的确认会很棒.如果必须将Web服务器开发为替代接口,那将是EF的另一个优势.
提前感谢您提供任何信息或反馈!
更新1
显然.NET 4是一个问题,为了使用NHibernate,.NET 3.5更加明智.此外,SQLite和SQL CE或WPF等框架的其他部分也存在明显的问题.
NHibernate是否允许跨不同数据库类型(例如MySQL和SQLite)进行分片?
所以我开始相信EF 4对于客户端来说更安全,而NHibernate对于可能的ASP.NET接口来说更安全.
会话变量究竟保存在哪里?饼干?服务器内存?
再次保存应用程序变量的位置?
我正在使用Dr. Racket开发环境和语言定义#lang scheme
为课程工作.但是,我不确定如何最好地使用此工具进行调试.我希望能够执行一个函数并逐步执行它,在执行的各个点观察不同函数的值.
这可能吗?如果没有,那么逐步执行Scheme程序并调试它的典型方法是什么?
我已经决定要有一个带有"复杂上下文"的列表,即自定义控件.(目标看起来像一个好友列表,包括照片,状态图标,文本和"开始聊天按钮".)
但我喜欢它表现为列表:滚动条,选择多个项目的可能性等.
当我一直在查看ListView和ListBox时,我只看到我可以添加文本和图标,但不能添加任意控件.我不知道这是怎么做到的?
或者我应该使用ListView/ListBox以外的东西?
我刚刚开始使用Rails,并决定制作一个小应用程序来学习实用的东西.
我有一个用户类,它有一个用户组整数字段.我想使用常量添加到迁移a:默认值.
在我的用户模型中,我使用常量定义了不同的组,以便稍后我可以轻松地检查"admin?" 等等
t.integer :user_group, :default => USER
Run Code Online (Sandbox Code Playgroud)
我在db:migrate上收到以下错误
耙子流产了!期望[...]/app/models/user.rb定义USER
但是在用户模型中我有这个:
ADMIN = 1
USER = 2
Run Code Online (Sandbox Code Playgroud)
我有什么想法我做错了吗?
我正在尝试HTML-5的使用/测试视频标签.这是代码
<!DOCTYPE HTML>
<html>
<body>
<video src="./Pilot.avi" controls="controls">
your browser does not support the video tag
</video>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Pilot.avi存储在与此HTML页面相同的目录中.
问题是,我看到控件正在显示但无法播放视频.
我试过了,
1)Mozilla Firefox 3.6.13
2)谷歌Chrome 8.0.552.224
可能是什么问题呢?
此致,Microkernel
我想将逗号分隔值存储到数组中.后来我想用不同的支票检查一下.
var_str= name,address,state,city // I want make array from this variable
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做......
谢谢..
我有SQL Server 2008
,SQL Server Management Studio.
我需要从Table1
database1中选择数据.然后我必须在结果和insert values into Table1
database2中编辑一些值.
或者让我用其他方式.
如何将一个表中的数据转换为insert script
.
我想使用自动加载来使用现有数据库.我知道如何在没有声明性语法(model/_ init _.py)的情况下执行此操作:
def init_model(engine):
"""Call me before using any of the tables or classes in the model"""
t_events = Table('events', Base.metadata, schema='events', autoload=True, autoload_with=engine)
orm.mapper(Event, t_events)
Session.configure(bind=engine)
class Event(object):
pass
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我想使用声明性语法:
class Event(Base):
__tablename__ = 'events'
__table_args__ = {'schema': 'events', 'autoload': True}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这样我得到:
sqlalchemy.exc.UnboundExecutionError:没有引擎绑定到此Table的MetaData.通过autoload_with = <someengine>将引擎传递给表,或通过metadata.bind = <someengine>将MetaData与引擎相关联
这里的问题是我不知道在导入模型的阶段从哪里获取引擎(在autoload_with中使用它)(它在init_model()中可用).我尝试添加
meta.Base.metadata.bind(engine)
Run Code Online (Sandbox Code Playgroud)
到environment.py但它不起作用.有人找到了一些优雅的解决方案
考虑下面的JSP:
<param name="FlashVars" value="${flashVars}" />
Run Code Online (Sandbox Code Playgroud)
${flashVars}
包含&符号的值需要在输出之前进行编码.相反,JSP期望值为${flashVars}
HTML的一部分,并逐字输出&符号,导致HTML错误.
我发现如果我像这样编写它,我可以得到要编码的值:
<param name="FlashVars" value="<c:out value="${flashVars}"/>" />
Run Code Online (Sandbox Code Playgroud)
但这看起来很丑陋,让我的IDE混乱.有没有更好的方法来获得相同的结果?
asp.net ×1
c# ×1
database ×1
debugging ×1
declarative ×1
el ×1
html ×1
html-encode ×1
html5 ×1
html5-video ×1
java ×1
javascript ×1
jquery ×1
jsp ×1
memory ×1
nhibernate ×1
pylons ×1
python ×1
racket ×1
reflection ×1
scheme ×1
session ×1
sharding ×1
sql ×1
sql-server ×1
sqlalchemy ×1
ssms ×1
winforms ×1