Dixin / EntityFramework.Functions

EntityFramework.Functions library implements Entity Framework code first support for stored procedures (with single result type, multiple result types, output parameter), table-valued functions (returning entity type, complex type), scalar-valued functions (composable, non-composable), aggregate functions, built-in functions, niladic functions, and model defined functions.
https://weblogs.asp.net/Dixin/EntityFramework.Functions
MIT License
79 stars 27 forks source link

: Schema specified is not valid. Errors: (0,0) : error 0040: The Type is not qualified with a namespace or alias. Only primitive types can be used without qualification #35

Open MikelLuri opened 5 years ago

MikelLuri commented 5 years ago

I've made a simple project to test ModelDefinedFunctions and I can't get it to work... I get an exception:

MetadataException: Schema specified is not valid. Errors: (0,0) : error 0040: The Type Person is not qualified with a namespace or alias. Only primitive types can be used without qualification.

It's a Code-First project. Very simple. Just a table, and I want to create a function to concat two fields.

    public class Person
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }

    public static class ModelDefinedFunctions
    {
        [ModelDefinedFunction(nameof(FormatName), "DataAccess",
            @"[Person].[FirstName] + N' ' + [Person].[LastName]")]
        public static string FormatName(this Person person) =>
            $"{person.FirstName} {person.LastName}";
    }

    public class MyContext : DbContext
    {
        public MyContext() : base("MyDbContext")
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());

        }

        public DbSet<Person> Persons { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.AddFunctions(typeof(ModelDefinedFunctions));
        }
    }

I've set up a demo project to show the error: https://github.com/MikelLuri/EFFunctionsExample Is it a bug, am I doing something wrong...?

lojell commented 5 years ago

Hi, I have the same problem.

CZEMacLeod commented 2 years ago

Did either of you get anywhere with this? I've hit the same issue in my tests...