Trả lời

1

Trả lời ngắn- Không, không phải. Tôi đã nhìn thấy điều này liên tục được tham chiếu trong suốt blogs và không tìm thấy ví dụ cụ thể về việc triển khai. Nó có vẻ liên quan đến thực tế là các chỉ mục không gian được lọc các chỉ mục, không được hỗ trợ trong Entity Framework.

Như hỗ trợ cho câu trả lời của tôi, tôi đã xây dựng một ứng dụng bảng điều khiển POC với phiên bản mới nhất của khung thực thể (6.1). Tôi mất các bước sau

  1. Tạo một mô hình mà đã có một tài sản của các loại DbGeography
  2. di cư tự động Enabled
  3. Ran Cập nhật cơ sở dữ liệu--verbose bảo hiểm di chuyển với sự bổ sung của một chỉ số được chạy. Chỉ số sử dụng như sau:

    modelBuilder.Entity<LocationEntity>().Property(t => t.Coordinates).HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute("ix_locationentity_coordinates")));

Không chỉ được tạo ra, nhưng không phải đã làm sụp đổ ứng dụng. Tôi có thể thử hoán vị về điều này, nhưng ví dụ của tôi dường như tuân theo quy ước về khung pháp nhân: Official Fluent Documentation

0

Cách duy nhất tôi biết để làm điều này là thông qua di chuyển "tùy chỉnh". Trong EF6, tôi thêm một sự di trú (trong ví dụ bên dưới nó có tên là "V1"), dẫn đến một sự di trú mới với các phương thức Up() và Down() rỗng. Sau đó bạn có thể thêm các lệnh SQL tùy chỉnh vào các phương thức này trước khi chạy cơ sở dữ liệu cập nhật để đặt chúng trong luồng di chuyển "bình thường".

Có thể sửa đổi di chuyển hiện tại để thêm các tính năng này, nhưng tôi thích thực tế để giữ cho các di chuyển tự động được phân tách riêng biệt khỏi các tùy chỉnh của tôi.

public partial class V1 : DbMigration 
{ 
    public override void Up() 
    { 
     Sql("CREATE SPATIAL INDEX [IX_UserProfileAddresses_Location] ON [dbo].[UserProfileAddresses](Location)"); 
    } 

    public override void Down() 
    { 
     Sql("DROP INDEX [IX_UserProfileAddresses_Location] ON [dbo].[UserProfileAddresses]"); 
    } 
} 

Không phải là phương pháp lý tưởng, nhưng không quá tệ vì nó tuân theo mẫu di chuyển "bình thường" cho EF.

Các vấn đề liên quan