假设我有一个包含XML类型数据列的表.在SQL中,我可以执行以下语句:
select top 10 *,
Content.value('(/root/item/value)[1]', 'float') as Value
from xmltabletest
where Content.value('(/root/item/MessageType)[1]', 'int') = 1
Run Code Online (Sandbox Code Playgroud)
结果集仅包含与条件匹配的记录,并将XML中的值提取到名为"Value"的列中.很好,很简单.
使用Linq To SQL可以实现同样的目的吗?
我想让SQL做繁重的工作,只返回符合我标准的数据,而不必选择,传输,然后处理潜在的大量数据.据我所知,目前这是不可能的,但我想我应该问.
(环境是.NET 3.5,VS2008,SQL Server 2005,如果有帮助的话)
所以,假设我使用Python 2.5的内置默认sqlite3,我有一个Django模型类,代码如下:
class SomeEntity(models.Model):
some_field = models.CharField(max_length=50, db_index=True, unique=True)
Run Code Online (Sandbox Code Playgroud)
我有管理界面设置,一切似乎工作正常,除了我可以创建两个SomeEntity记录,一个some_field ='some value'和一个some_field ='Some Value'因为some_field上的唯一约束似乎是区分大小写.
在检查唯一性时,是否有某种方法可以强制sqlite 在敏感比较中执行一个案例?
我似乎无法在Django的文档中找到一个选项,我想知道是否有一些我可以直接对sqlite做的事情让它按照我想要的方式运行.:-)
我正在设计一个相当复杂的系统.我们主要关注的一个问题是支持SQL Server对等复制.这个想法是支持几个地理上分离的节点.
第二个问题是在中间层使用现代ORM.我们的第一选择一直是实体框架,主要是因为开发人员喜欢使用它.(他们喜欢LiNQ的支持.)
所以这就是问题所在:
考虑到点对点复制,我决定使用uniqueidentifier,默认值为newsequentialid(),用于每个表的主键.这似乎在避免关键冲突和减少索引碎片之间提供了良好的平衡.
但是,事实证明当前版本的Entity Framework有一个非常奇怪的限制:如果实体的键列是唯一标识符(GUID),则它不能配置为使用数据库提供的默认值(newsequentialid()).应用程序层必须生成GUID并填充键值.
所以这是辩论:
我倾向于选择1使用linq2sql(我的开发人员非常喜欢linq2 [stuff])和3.这主要是因为我对支持我们所追求的复制方案的备用关键策略有点无知,同时也保持了理智.开发人员的观点.
任何见解或意见将不胜感激.
sql-server replication identity entity-framework uniqueidentifier
django ×1
identity ×1
linq ×1
linq-to-sql ×1
python ×1
replication ×1
sql-server ×1
sqlite ×1
xquery ×1