Tag: datacontext

UserControl的DataContext

我正在创build一个UserControl我想要使​​用这样的东西: <controls:ColorWithText Color="Red" Text="Red color" /> 到目前为止,我已经实现了类似这样的控制: <UserControl x:Class="Namespace.ColorWithText" Name="ThisControl"> <StackPanel Orientation="Horizontal" > <Border Width="15" Height="15" Background="{Binding Color, ElementName=ThisControl}" /> <TextBlock Text="{Binding Text, ElementName=ThisControl}" /> </StackPanel> </UserControl> 其中Color和Text是在代码中定义的控件的依赖项属性。 这工作,但每次指定ElementName似乎没有必要。 另一个可行的select是使用 <UserControl x:Class=… DataContext="{Binding ElementName=ThisControl}" Name="ThisControl"> 而不是指定ElementName ,但是这对我来说也不是一个干净的解决scheme。 我有两个问题: 为什么不<UserControl DataContext="{RelativeSource Self}">工作? 什么是这样做的最好方法?

在SQL Server 2008中启用Service Broker

我正在整合SqlCacheDependency在我的LinqToSQL数据上下文中使用。 我在这里使用Linq查询的扩展类 – http://code.msdn.microsoft.com/linqtosqlcache 我已经连接了代码,当我打开页面,我得到这个exception – “当前数据库的SQL Server Service Broker未启用,因此不支持查询通知,如果希望使用通知,请为此数据库启用Service Broker。” 它来自全球这个事件 protected void Application_Start() { RegisterRoutes(RouteTable.Routes); //In Application Start Event System.Data.SqlClient.SqlDependency.Start(new dataContextDataContext().Connection.ConnectionString); } 我的问题是… 如何在我的SQL Server 2008数据库中启用Service Broker? 我试图运行这个查询.. ALTER DATABASE表名SET ENABLE_BROKER但它永远不会结束,永远运行,我必须手动停止它。 一旦我在SQL Server 2008中有这个设置,它会过滤到我的DataContext,还是我需要在那里configuration一些东西? 谢谢你的帮助 Truegilly

我应该从我的DAL中返回IEnumerable <T>或IQueryable <T>吗?

我知道这可能是意见,但我正在寻找最佳实践。 据我所知, IQueryable<T>实现IEnumerable<T> ,所以在我的DAL中,我目前有方法签名,如下所示: IEnumerable<Product> GetProducts(); IEnumerable<Product> GetProductsByCategory(int cateogoryId); Product GetProduct(int productId); 我应该在这里使用IQueryable<T>吗? 这两种方法的优缺点是什么? 请注意,我正在计划使用存储库模式,所以我将有一个这样的类: public class ProductRepository { DBDataContext db = new DBDataContext(<!– connection string –>); public IEnumerable<Product> GetProductsNew(int daysOld) { return db.GetProducts() .Where(p => p.AddedDateTime > DateTime.Now.AddDays(-daysOld )); } } 我应该将IEnumerable<T>更改为IQueryable<T>吗? 这些或那个有什么优点/缺点?

LINQPad,使用多个数据上下文

我经常比较不同数据库中的表中的数据。 这些数据库不具有相同的模式。 在TSQL中,我可以使用DB> user> table结构(DB1.dbo.Stores,DB2.dbo.OtherPlaces)来引用它们来提取数据进行比较。 我非常喜欢LINQPad的概念,但我似乎无法轻易地从同一组语句中的两个不同的数据上下文中获取数据。 我已经看到人们build议简单地改变连接string以将数据从其他源拉入当前模式,但是,正如我所提到的,这是不行的。 我只是跳过常见问题页面吗? 这似乎是一个相当常规的程序,让我无法使用。 在“简单”的世界中,我希望能够简单地引用LINQPad创build的types化的数据上下文。 那么我可以简单地说: DB1DataContext db1 = new DB1DataContext(); DB2DataContext db2 = new DB2DataContext(); 并从那里工作。

C#Linq-to-Sql – 应该使用IDisposable处理DataContext

我有几个处理数据库的方法,他们都通过调用开始 FaierDbDataContext db = new FaierDbDataContext(); 由于Linq2Sql的DataContext对象实现IDisposable,这应该用于“使用”? using (FaierDbDataContext db = new FaierDbDataContext()) { // use db here } 以这种或那种方式使用它有什么意义?

模拟交叉上下文联接 – LINQ / C#

这是问题: 我有两个数据上下文,我想要join。 现在我知道LINQ不允许从一个上下文连接到另一个上下文,而且我知道2个可能的解决scheme是创build单个数据上下文或者有2个单独的查询(这就是我现在所做的)。 但是我想要做的是“模拟”一个连接。 这是我试过的。 using (var _baseDataContext = Instance) { var query = from a in _baseDataContext.Account.ACCOUNTs where a.STR_ACCOUNT_NUMBER.ToString() == accountID join app in _baseDataContext.Account.APPLICATIONs on a.GUID_ACCOUNT_ID equals app.GUID_ACCOUNT join l in GetLoans() on app.GUID_APPLICATION equals l.GUID_APPLICATION select l.GUID_LOAN; return query.Count() > 0 ? query.First() : Guid.Empty; } private static IQueryable<LOAN> GetLoans() { using […]