Правильный способ проверки равенства URL-адресов

Я использую полнотекстовый поиск с LINQ в своем приложении, и, поскольку это не поддерживается LINQ, я использую обходной путь функции с табличным значением. Эта функция создана на SQL Server 2008.

Удивительно, но я получаю сообщение об ошибке «Параметр полнотекстового запроса для строки полнотекстового запроса недействителен», когда ищу простой текст, например «менеджер»

Я использовал SQL Server Profiler и обнаружил, что LINQ сгенерировал параметр как nvarchar (4000) вместо nvarchar (250), который находится в моей функции.

Самый большой сюрприз случился, когда я изменил свою функцию SQL Server, так что он принимает параметр как nvarchar (4000) вместо nvarchar (250), и проблема решена.

Я также играл, чтобы изменить параметр на nvarchar (2000) и меньше, но это тоже не сработало.

В чем проблема? Свойство IsSelected изменено, но свойство StrokeThickness не изменится вообще ... (

XAML:

<UserControl.Resources>
 <Style TargetType="stops:MyLine" 
  x:Key="MyLineStyleKey" x:Name="MyLineStyleName">

  <Style.Triggers>
   <DataTrigger Binding="{Binding Path=IsSelected}" Value="true">
    <Setter Property="StrokeThickness" Value="10" />
   </DataTrigger>
  </Style.Triggers>
 </Style>
</UserControl.Resources>

<Canvas...
...
<my:MyLine Style="{StaticResource MyLineStyleKey}" x:Name="myLine1" 
 Stroke="Black" X11="10" X22="100" Y11="10" Y22="100"/>

Код:

class MyLine : Shape
{
    public static readonly DependencyProperty X11Property;
    public static readonly DependencyProperty X22Property;
    public static readonly DependencyProperty Y11Property;
    public static readonly DependencyProperty Y22Property;
    public static readonly DependencyProperty IsSelectedProperty;

    static MyLine()
    {
        X11Property = DependencyProperty.Register("X11", typeof(double), typeof(MyLine), new FrameworkPropertyMetadata(double.NaN, FrameworkPropertyMetadataOptions.AffectsRender));
        X22Property = DependencyProperty.Register("X22", typeof(double), typeof(MyLine), new FrameworkPropertyMetadata(double.NaN, FrameworkPropertyMetadataOptions.AffectsRender));
        Y11Property = DependencyProperty.Register("Y11", typeof(double), typeof(MyLine), new FrameworkPropertyMetadata(double.NaN, FrameworkPropertyMetadataOptions.AffectsRender));
        Y22Property = DependencyProperty.Register("Y22", typeof(double), typeof(MyLine), new FrameworkPropertyMetadata(double.NaN, FrameworkPropertyMetadataOptions.AffectsRender));
        IsSelectedProperty = DependencyProperty.Register("IsSelected", typeof(bool), typeof(MyLine), new FrameworkPropertyMetadata(false));
    }

    public MyLine()
        : base()
    {
        this.PreviewMouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(DirectionLine_PreviewMouseLeftButtonDown);
    }

    void DirectionLine_PreviewMouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
    {
        this.IsSelected = !this.IsSelected;
    }

    [TypeConverter(typeof(LengthConverter))]
    public double X11 { get { return (double)GetValue(X11Property); } set { SetValue(X11Property, value); } }
    [TypeConverter(typeof(LengthConverter))]
    public double X22 { get { return (double)GetValue(X22Property); } set { SetValue(X22Property, value); } }
    [TypeConverter(typeof(LengthConverter))]
    public double Y11 { get { return (double)GetValue(Y11Property); } set { SetValue(Y11Property, value); } }
    [TypeConverter(typeof(LengthConverter))]
    public double Y22 { get { return (double)GetValue(Y22Property); } set { SetValue(Y22Property, value); } }
    [TypeConverter(typeof(BooleanConverter))]
    public bool IsSelected { get { return (bool)GetValue(IsSelectedProperty); } set { SetValue(IsSelectedProperty, value); } }


    protected override System.Windows.Media.Geometry DefiningGeometry
    {
        get
        {
            var geometryGroup = new GeometryGroup();
            geometryGroup.Children.Add(new LineGeometry(new Point(X11, Y11), new Point(X22, Y22)));
            return geometryGroup;
        }
    }
}
1
задан serhio 22 September 2010 в 16:59
поделиться