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.
: 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
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 made a simple project to test ModelDefinedFunctions and I can't get it to work... I get an exception:
It's a Code-First project. Very simple. Just a table, and I want to create a function to concat two fields.
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...?