// <auto-generated />
using System;
using System.Collections.Generic;
using System.Net;
using System.Runtime.CompilerServices;
using Microsoft.EntityFrameworkCore.Scaffolding;

#pragma warning disable 219, 612, 618
#nullable disable

namespace TestNamespace
{
    public static class PrincipalBaseUnsafeAccessors
    {
        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<Id>k__BackingField")]
        public static extern ref long? Id(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<Enum1>k__BackingField")]
        public static extern ref CompiledModelTestBase.AnEnum Enum1(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<Enum2>k__BackingField")]
        public static extern ref CompiledModelTestBase.AnEnum? Enum2(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<FlagsEnum1>k__BackingField")]
        public static extern ref CompiledModelTestBase.AFlagsEnum FlagsEnum1(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Method, Name = "get_FlagsEnum2")]
        public static extern CompiledModelTestBase.AFlagsEnum Get_FlagsEnum2(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Method, Name = "set_FlagsEnum2")]
        public static extern void Set_FlagsEnum2(CompiledModelTestBase.PrincipalBase @this, CompiledModelTestBase.AFlagsEnum value);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<RefTypeArray>k__BackingField")]
        public static extern ref IPAddress[] RefTypeArray(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<RefTypeEnumerable>k__BackingField")]
        public static extern ref IEnumerable<string> RefTypeEnumerable(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<RefTypeIList>k__BackingField")]
        public static extern ref IList<string> RefTypeIList(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<RefTypeList>k__BackingField")]
        public static extern ref List<IPAddress> RefTypeList(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<ValueTypeArray>k__BackingField")]
        public static extern ref DateTime[] ValueTypeArray(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<ValueTypeEnumerable>k__BackingField")]
        public static extern ref IEnumerable<byte> ValueTypeEnumerable(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<ValueTypeIList>k__BackingField")]
        public static extern ref IList<byte> ValueTypeIList(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<ValueTypeList>k__BackingField")]
        public static extern ref List<short> ValueTypeList(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "_ownedField")]
        public static extern ref CompiledModelTestBase.OwnedType _ownedField(CompiledModelTestBase.PrincipalBase @this);

        [UnsafeAccessor(UnsafeAccessorKind.Field, Name = "<Deriveds>k__BackingField")]
        public static extern ref ICollection<CompiledModelTestBase.PrincipalBase> Deriveds(CompiledModelTestBase.PrincipalBase @this);
    }
}
